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

 找回密码
 立即加入
搜索
查看: 2684|回复: 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# 玉门关山
    3 U3 y  t3 ]# W+ g8 G1 L3 P, u! G0 e! b* ?! |/ C

    - U9 z' R; a* d3 P+ g8 P2 N    因为我不知道问题出在哪里了。。
    6 w2 S! B$ s0 edo
    ) G7 J; h/ K7 X% w        {
    ; f9 y; O3 J7 T2 U$ d                //求解不平衡量
    . w/ S; I  |# x4 h: E                for(i=0;i<nB;i++)5 a7 w" e! x$ X1 t
                    {
    / S3 f. g( y7 L  F2 J. G! |. X7 ^$ ?                        if(sB.Type!=2)//假如不是平衡节点
    ) @; I, x7 V9 ~7 N                        {         # {; t' m6 u* j  x
                                    DP=sB.GenP-sB.LoadP;
    3 O1 s+ m8 J' d" X                                DQ=sB.GenQ-sB.LoadQ;" B7 t9 O0 C6 k9 n/ E
                                   
    + T# G+ ^8 Y6 L0 Z                                for(j=0;j<nB;j++)6 G) e( D1 @( n% z# O
                                    {
    : h! v) T9 g) W# a  m  O3 H$ y' I                                        A=sB.Phase-sB[j].Phase;" P) i9 Y6 s2 W. Y' Z4 ^
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));( v$ L6 G3 v' X# r, n
                                            1 z  L# @6 {( z# c, a
                                            if(sB.Type==0)//PQ节点; K1 n  `( Q7 V$ x5 a* b3 b2 r
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    % s; s) }' ~7 W7 F* Q- l- \                                $ n# w7 C& p3 w0 k# p0 p  `3 N
                                            else if(sB.Type==1)//PV节点5 T$ c& O) [# z8 _. y- {* Y
                                                    DQ=0;
    / B, N6 q! c  b5 W: D1 k                                }
    8 Q& c& \4 s2 |: B- z+ r0 G                        }* X6 d5 u6 g* ^3 \% N
                            else if(sB.Type==2)//平衡节点
    ; R4 V! X& @$ d                                DP=DQ=0;0 F( c0 v% c$ ?/ Z4 k, m2 y4 z
                    } ; `5 P  V3 a3 J# V& e( }
                    //for(i=0;i<nB;i++)+ Z: S1 H& Z# R  t6 ]5 ?
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);4 U5 R, b2 m6 c8 y8 l1 c
    * u: |1 p$ m2 [; V6 b" W
                //求解修正方程( i2 P- `5 H) x. v7 ~/ p
                    for(i=0;i<nB-1;i++)
    : B; [% M  Y% H& Z                    AA1=DP[i+1]/sB[i+1].Volt;6 n. X7 [, i1 ], `2 Y* N0 O
                    for(i=0;i<nB-1-count_PVnode;i++)1 H: H& v2 N6 L
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;/ b: \7 k, i4 a$ r
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    + R; x. N5 T. _; i$ s3 X0 M                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    6 w1 ^2 v% [$ M) o% Z8 ~4 R* H5 B/ I" X4 D" s! Z
                    max1=fabs(AA1[0]);4 A# I4 E/ V; `& j" r' P1 d; W
                    for(i=1;i<nB-1;i++)
    ) {% j: Q: x& p$ T) z: w                        if(max1<fabs(AA1))       
    ( \* N; K7 o0 u                                max1=fabs(AA1);; A  j/ }% a* Z3 y1 ?. `! v
                            max2=fabs(AA2[0]);. d5 a; G/ @! t+ T  r$ n  Y
                            for(i=1;i<nB-1-count_PVnode;i++)
    1 `+ h1 Y+ c5 z8 \! c+ @4 q                                if(max2<fabs(AA2))        4 Q1 d6 O6 @7 H0 X3 i- U8 k
                                    max2=fabs(AA2);
    , ?9 v7 J1 P6 t8 F                for(i=0;i<nB-1;i++)# N# h; b' B% u/ Y9 {# H
                            sB[i+1].Phase+=BB1/sB.Volt;
    # E. I$ D! ]1 x3 ~0 ~                for(i=0;i<nB-1-count_PVnode;i++)
    ( R: I" a7 `- V5 r1 C' e                        sB[i+1+count_PVnode].Volt+=BB2;+ q3 L  r* E, F9 n, [; G. E& z; m
                    for(i=0;i<nB;i++)% g8 C! z6 ~5 J; C
                    { $ P+ f5 M8 K" `
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);) p. e: \1 p0 ]
                           
    . y5 O: |, D6 x" T( ?                }* Z9 j2 T0 M# j: i+ k9 y
                    printf("\n");. }. S  l3 d4 }8 G
                            ci++;
    6 L) }  e8 Q  Y. d9 b( p        }
    ( S4 D! Q- l7 t8 _- V+ o& ^        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);
    2 F+ Y) v& h8 g! e7 i: t, q4 T这是我求潮流的程序,用的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
    ! T4 }* E, I- Y+ G: q; C& f% k  Q! S' o/ f  \

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    5 |0 l/ z9 u) b
    " P4 x. O7 M5 Y5 \- E4 S建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-6-7 04:22

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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