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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

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

该用户从未签到

尚未签到

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

    连续签到: 1 天

    [LV.7]常住居民III

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

    该用户从未签到

    尚未签到

     楼主| 发表于 2015-6-16 15:02:40 | 显示全部楼层
    回复 3# 玉门关山 # ?* I3 q5 U1 n) K9 Z

    # i8 T) j+ S' R% d7 w( K0 W5 I& F/ @! e# P! l9 N4 z
        因为我不知道问题出在哪里了。。
    $ w/ ], j. q, \7 y% bdo : H) {5 Y4 X( j# E+ h
            {
    ( v8 R4 \( b2 r                //求解不平衡量4 d# H9 D- x$ n- k; q
                    for(i=0;i<nB;i++)% R# X. k5 O2 p% u" Z, M
                    {' R8 E& b8 Y( N3 @9 @
                            if(sB.Type!=2)//假如不是平衡节点0 R4 @7 S4 d- P# ^
                            {         1 i$ L" C: _, H. ?4 a
                                    DP=sB.GenP-sB.LoadP;% }5 o1 O! s& j6 G9 {8 J
                                    DQ=sB.GenQ-sB.LoadQ;
    " [) j# J+ Y: g+ m! Z5 E                               
    % J* u% Z1 F8 A" y                                for(j=0;j<nB;j++). Q  V& |% G' _+ {7 Y
                                    {
    ' F# m5 }: P; ?* u! R& }                                        A=sB.Phase-sB[j].Phase;+ j  u- b$ H! s2 H! e
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));4 ~- Q* f* B* S) H8 |6 b
                                            $ R/ g/ }" ]0 b, N3 u' h2 L
                                            if(sB.Type==0)//PQ节点
    # n3 f- K7 `0 N                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));3 ?) J# C/ X, ]$ o' j' f5 ^- D
                                    " r( J/ V) a- E& e8 A- i# q
                                            else if(sB.Type==1)//PV节点
    & L& a+ w% n5 [7 a+ N% I0 O* G) N                                                DQ=0;
    ) V8 A  }; O* w! C3 o: @6 I                                }
    / ]1 D8 e. K# x1 H) r                        }0 e- `; j9 l  }0 r
                            else if(sB.Type==2)//平衡节点$ K1 H$ [5 m0 v2 T* W' u
                                    DP=DQ=0;2 E0 V/ e9 j& _& @$ C9 F( H3 G
                    } ( N3 h# a% i! X1 [: x, a. ~
                    //for(i=0;i<nB;i++)
    - z. h* z. {- d! [; q                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    + X3 M& _( ~7 R* j) i: M' \% J' \# j
                //求解修正方程0 d& m( {5 K; e
                    for(i=0;i<nB-1;i++)# \% b0 ~, k" ^. |3 N  b
                        AA1=DP[i+1]/sB[i+1].Volt;, U+ ^+ x* D. M, y) j
                    for(i=0;i<nB-1-count_PVnode;i++)( I1 o9 u" y, y
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;/ g8 z: q. ]- B" T7 w' g% g
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量% b. h( R* j4 P7 z: N
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    ; [  a/ `3 g' d; q. b
    9 r; a* v  b$ o; _, \% [, k                max1=fabs(AA1[0]);
    ! r0 G( P: a" g% {& w5 T                for(i=1;i<nB-1;i++)+ {: t, G* d1 t4 t- U# b
                            if(max1<fabs(AA1))        . h8 O" a! S1 r$ b: j
                                    max1=fabs(AA1);
    * H1 H1 Z8 e4 u9 x* X7 C. `4 v  ]                        max2=fabs(AA2[0]);
    " M6 H( Y# L  y7 u: H" I. q                        for(i=1;i<nB-1-count_PVnode;i++)$ ]/ d% }9 S; ]7 X
                                    if(max2<fabs(AA2))        9 v4 o; Q! M7 D+ x  \( e
                                    max2=fabs(AA2);( C" G% a1 W( i) k  p/ B
                    for(i=0;i<nB-1;i++)( p5 y& V7 F' N: t. a" R% H
                            sB[i+1].Phase+=BB1/sB.Volt;
    : o1 p3 m" C' f' k                for(i=0;i<nB-1-count_PVnode;i++)
      h' k5 E+ ?" U                        sB[i+1+count_PVnode].Volt+=BB2;
    - U5 ]/ t& Y6 D. U2 W; G4 ~: R                for(i=0;i<nB;i++)& F& a# c. Q  o; e+ w
                    {
    9 E) h8 H, y9 P6 V                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);" @! `, M; i+ s. n& m/ G
                           
    / f- {- n3 r5 E; q6 d  D/ ~2 r7 D                }
    + O1 T/ c8 H" U# T2 ]9 Q  Y                printf("\n");% ^; }3 B, ~3 A: h9 ?% P; d& W4 c
                            ci++;3 Y- L) q( ]' J0 _1 o9 w# W# n2 ]
            }' _. ?  e) r, y5 |, k$ q. D! {
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);2 j) u/ G! S: ]6 x
    这是我求潮流的程序,用的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 ; [) G0 r: N/ Z# d
    0 X* c3 P/ D" W# d
    + W8 p1 j6 }. M4 l8 {7 i4 r
       跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    ' H( ], s2 y% u; S( l- B2 B" O  X; `4 E7 m' Z9 U' ?& d& E, M: R
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-9 04:49

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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