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

 找回密码
 立即加入
搜索
查看: 2280|回复: 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# 玉门关山
    ; `- A9 @& M( ?8 `  X5 J2 {$ N5 r0 S# E
    , A. K! [/ x! p" l  _7 J
        因为我不知道问题出在哪里了。。
    ! C% G6 Y# y! ?, ~: Odo 0 n6 a( M8 n: r/ v& `/ U
            {5 |' k1 H8 }8 h) m% L
                    //求解不平衡量' `  M/ j: i' ?5 v
                    for(i=0;i<nB;i++); n5 o1 b7 L3 B. m1 u- h1 R; Y& d5 |2 N
                    {, g. |& Q8 ]( ?1 ^5 |
                            if(sB.Type!=2)//假如不是平衡节点
    3 A$ U& e% w) V+ M2 u                        {        
    . p9 c; k+ W* ~                                DP=sB.GenP-sB.LoadP;
      g) N8 s% l1 D" U) P                                DQ=sB.GenQ-sB.LoadQ;+ r0 B4 A+ B  P7 {9 p; a. \
                                   
    0 c' X: i: I; N  |/ g/ k. G, I                                for(j=0;j<nB;j++)
    ) x! {- I  `4 T1 C3 f1 z% l                                {
    / d. y# o& ?7 H, Q1 a; U                                        A=sB.Phase-sB[j].Phase;* k' D# A1 H) p+ b% J
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));5 ~& G& m- n5 j& {/ @: v# V
                                           
    $ b& S! g; l% r# m: }% @8 p* [( A                                        if(sB.Type==0)//PQ节点# f3 M. o/ G, o" }! h  a" q% F6 w
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    5 i( G) b, d6 o# Y6 e' F1 f                               
    ) n# D2 q9 H. f- h                                        else if(sB.Type==1)//PV节点
    4 ^6 i0 {' g3 _7 Z9 L                                                DQ=0;
    ( y9 C+ B  }0 h2 @' K                                }
    6 Y5 S1 T' a0 m! e8 s3 m( ~                        }5 Z" j) i+ X6 K+ z; B4 |  m9 \
                            else if(sB.Type==2)//平衡节点
    % D+ n# V- {' a0 `                                DP=DQ=0;
    ! z- ?/ n' a$ r1 X$ s* E8 Z                } $ g5 W( z3 S! C! U! Q8 ]
                    //for(i=0;i<nB;i++); a( I  ]4 a0 Z% H% f/ e7 _
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);0 ?% q( |- Q1 x  A1 w7 W0 t5 u% E6 l
    3 |  k% u% V- g/ U$ `1 K7 Q: U9 z
                //求解修正方程
    & L% l  ]- X% u                for(i=0;i<nB-1;i++)) V# g& c: O: d: k
                        AA1=DP[i+1]/sB[i+1].Volt;2 V. f) [+ v" N5 c3 T2 F
                    for(i=0;i<nB-1-count_PVnode;i++). v* L/ K! X5 t$ o9 b
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;
    , ^1 H! q0 J7 q9 i/ C6 E                calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量% _4 ~8 H; p, b1 m- n
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    . m0 C2 |/ B* L% X+ ~/ @3 P% Q% H) E5 U  Q: w) `- X( [
                    max1=fabs(AA1[0]);! e9 K/ ~, M! u6 R* b2 W$ y( R& V
                    for(i=1;i<nB-1;i++)
    8 u8 H. Z4 B6 x) w/ ~                        if(max1<fabs(AA1))        ' w5 m3 J1 F; G* _
                                    max1=fabs(AA1);" y. b- J- l1 [2 b* s3 `! S
                            max2=fabs(AA2[0]);
    1 x3 B" U& _" H: X                        for(i=1;i<nB-1-count_PVnode;i++)
    9 \$ R- A! ^6 O/ d; a! V                                if(max2<fabs(AA2))       
      p+ `! `  M) X' ]3 f' y# L6 ^                                max2=fabs(AA2);5 r. p9 |2 ^2 d- R
                    for(i=0;i<nB-1;i++)* Z1 L$ g( {- x7 [  h
                            sB[i+1].Phase+=BB1/sB.Volt;
    5 v, Z# M& @4 O& M                for(i=0;i<nB-1-count_PVnode;i++)9 X8 n% c( B% c' y; @
                            sB[i+1+count_PVnode].Volt+=BB2;# T8 o: A# U6 T6 p0 ]& j
                    for(i=0;i<nB;i++)
    - M+ L1 Z0 P- A! J' r& {& }                { ! z- m. f5 w8 _- D8 k* U4 ^3 r
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    - e+ U( k  C0 B  ]0 \# h                       
    8 N8 _& z& t7 b5 j* ]                }' C/ w: Z/ g8 o- X$ P- e
                    printf("\n");: Z; k0 O- @( G& ^8 j1 l
                            ci++;: B. W( g, {8 R# I3 e& K
            }4 _* }* D" R- O7 e0 K
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);
    7 b1 r# ^: P3 s2 M; y; W1 l3 B4 g这是我求潮流的程序,用的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 , u$ `& u( E2 s1 K
    + G3 ?; `4 {# W- C
    0 Q# A! R% T: B# p
       跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    & m5 [2 @: F# C) }8 A# x0 n& N# D$ e
    5 k4 r- S1 E1 a0 \7 H建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2024-4-26 13:53

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

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