设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 2670|回复: 6

[讨论] 潮流计算程序有误差,不知道是哪里出了问题。求大神解救

[复制链接]

该用户从未签到

尚未签到

发表于 2015-6-16 10:44:58 | 显示全部楼层 |阅读模式

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

 楼主| 发表于 2015-6-16 11:17:56 | 显示全部楼层
潮流程序计算结果又误差是什么问题造成的啊?
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    难过
    2021-6-9 13:53
  • 签到天数: 178 天

    连续签到: 1 天

    [LV.7]常住居民III

    累计签到:186 天
    连续签到:1 天
    发表于 2015-6-16 11:33:18 | 显示全部楼层
    你给这么些信息量,,真得靠大神来答了。。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

     楼主| 发表于 2015-6-16 15:02:40 | 显示全部楼层
    回复 3# 玉门关山 ' x6 S/ u( s, w6 [2 D5 y: N

    : W* _, Q, H( J2 T1 E# G, a8 S* j' V* p% _& G0 u6 y/ h
        因为我不知道问题出在哪里了。。, ?7 L" ]0 g+ N
    do
    0 I/ n5 D' L. S# m        {4 ~! x/ d! A- v5 [; L7 i0 a% |( b
                    //求解不平衡量% C: l. G# C& v9 A( Q; z
                    for(i=0;i<nB;i++)
    8 P6 O; Q- G' s5 t( A                {
    & R2 J( Z- B, e' N3 i; {                        if(sB.Type!=2)//假如不是平衡节点
    $ t: E- d$ Z. J. a9 y" g                        {        
    ( ^1 p& S  F* Q: ?( d6 c$ \4 t                                DP=sB.GenP-sB.LoadP;
    ) N8 ?3 I: d3 v                                DQ=sB.GenQ-sB.LoadQ;
    & u: ?: s% j5 o2 q7 J+ @# X! |% V                                ( F+ K/ o6 \9 R% O4 o
                                    for(j=0;j<nB;j++)( Q& E- s9 @+ f6 q4 i! z
                                    {1 J6 u: q; s( g8 t% e+ T" b! a: h
                                            A=sB.Phase-sB[j].Phase;
    , M% ]8 A) T2 s, ^7 O" N                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    8 s1 _6 k! I0 P                                       
    - l/ U9 U. R. _; ^* \: I                                        if(sB.Type==0)//PQ节点
    , e2 j: h4 O, h1 Q                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));* @# Q" g* S: a1 b, x
                                   
    3 R  G6 z6 v7 Y0 R                                        else if(sB.Type==1)//PV节点
    1 B/ V2 N: C9 s6 m  V# v                                                DQ=0;
    . @& b9 z4 ]7 F' H/ ]                                }4 h5 I# w5 Y/ N; W+ S/ F
                            }
    / ^/ _$ F/ K8 U% b8 P                        else if(sB.Type==2)//平衡节点9 V* f2 C8 \8 f% e
                                    DP=DQ=0;
    # f1 R' B% R! _9 O; W( t                }
    - E4 u! D3 H8 x                //for(i=0;i<nB;i++)
    3 l. s  }  h( r8 M% \                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    + d* `! S3 {# I4 n3 f- @  x4 W3 l& T, S; ]
                //求解修正方程
      @( R9 f: ^* n5 T4 {                for(i=0;i<nB-1;i++)
    3 q- d/ f6 ~6 x; J! [                    AA1=DP[i+1]/sB[i+1].Volt;: K$ D7 N4 y$ o1 w# l
                    for(i=0;i<nB-1-count_PVnode;i++)
    0 t- K5 S& S8 @9 ~, a  Z                        AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;
    : {* k, `# u3 m5 t7 F, l3 q                calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量9 d! m3 }9 ~+ ?( G
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);, o; i6 ^' c5 U# ~" e: \" d

    1 Z: U* K/ R; u0 |+ d$ Y2 o                max1=fabs(AA1[0]);
    0 n7 y- L6 v- [  U7 \1 b  ]- v6 X                for(i=1;i<nB-1;i++)
    . |! j! |1 a! W% s1 a                        if(max1<fabs(AA1))       
    * m* D" f; ^& [2 D/ c. F                                max1=fabs(AA1);
    5 [4 s  V1 x: e- K* \  }                        max2=fabs(AA2[0]);: z( i3 k/ Y  m, N4 L
                            for(i=1;i<nB-1-count_PVnode;i++)# [' _; k& }+ ~6 i
                                    if(max2<fabs(AA2))        , _3 z! l( h! V8 ~( y" u
                                    max2=fabs(AA2);
    ; o/ o9 N- t9 \- P/ D* i6 p                for(i=0;i<nB-1;i++)
    ! H+ x. _! F; Q4 e- B0 V4 A0 }                        sB[i+1].Phase+=BB1/sB.Volt;
    " T) T3 U3 h6 F' j4 \                for(i=0;i<nB-1-count_PVnode;i++)
    $ V5 b. h7 ^2 l  H& c                        sB[i+1+count_PVnode].Volt+=BB2;7 }1 h' B! ?& K: f; X
                    for(i=0;i<nB;i++)
      Q9 I4 D( u+ z% o2 N' n" g; x  f                { ) f- T+ E) [) p1 ^2 t. A& X% w
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);9 B/ u  O6 n! G9 O
                              N: H- w& }* U) ]7 q$ a
                    }
    5 l( J" f6 j5 |- W( \6 _8 J# w                printf("\n");
    7 v: ~7 ^. o& q                        ci++;2 P2 q7 z6 q0 v1 ]  l# d
            }8 T+ a/ T9 ~9 ]% E3 F) @
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);
    : f2 c9 ]# ~7 l. c  E这是我求潮流的程序,用的PQ分解法,最后得到的结果是只能精确到小数点后第二位,第三位就不对了。
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2015-6-16 19:38:59 | 显示全部楼层
    别急躁,好好找找一定能好到原因。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 18:59:11 | 显示全部楼层
    回复 2# lllmos
    0 F' B9 X. L" [- |# p+ p* V  R5 P$ N& W" H# k( G

    4 t- b' f: K5 }+ z/ V   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos 9 z+ l4 F7 q0 |( k' k2 ]0 }. O; B/ B

    % }. G: M, S: b' i% ?2 m建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2025-5-15 10:44

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表