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

 找回密码
 立即加入
搜索
查看: 3002|回复: 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# 玉门关山
    3 o& r5 x1 ~5 J7 P0 u$ [; g; ^* a- z# a. f" V
    % A* j) e8 U2 T
        因为我不知道问题出在哪里了。。# ?+ Y" {+ B/ o
    do & Z1 a+ V* O2 b. i5 X, R, X
            {: e# J* v+ e: Y( F: j6 b( {
                    //求解不平衡量
    ' p. K% s0 R0 ^) {+ u                for(i=0;i<nB;i++)
    4 S* b* C/ \  Q: M                {7 P! O$ N2 ]  b/ T
                            if(sB.Type!=2)//假如不是平衡节点
    / m- _& w  C) }6 k# g                        {         + ?* N& U) X  k% b% I  ~: W
                                    DP=sB.GenP-sB.LoadP;
    . E) p! {: C" N- l  a                                DQ=sB.GenQ-sB.LoadQ;
    + P& }* K9 y* b+ j5 \                               
    $ K6 B. q' ^* h" H/ Q                                for(j=0;j<nB;j++)2 n- _3 `8 [$ l3 t0 r; D1 u7 h
                                    {4 j8 n  \* Z* z4 p+ J# S) Y
                                            A=sB.Phase-sB[j].Phase;5 S6 l- ]$ J9 A% v8 V0 e
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    ; A' I2 y2 a& E) |7 o                                       
    5 q4 ^& t7 R7 A5 _# W5 `8 ]& A) k                                        if(sB.Type==0)//PQ节点# ?0 A, M1 t7 D' M( p) f
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));, s* @6 E4 f# a- t% g& `; c
                                   
    $ K" [. D+ H, Y3 ?                                        else if(sB.Type==1)//PV节点
    3 ]1 e. U/ V1 T2 ]( ^7 q                                                DQ=0;
    ! r4 \8 s* Q0 b- T; M                                }
    + U! u  k6 M' a0 o; \9 C: ^                        }
    - \2 s+ Y4 a0 i                        else if(sB.Type==2)//平衡节点
    ; x* ]' \2 N2 H( H/ n. j$ b0 C                                DP=DQ=0;
    2 m# u' d. o1 y% ^                }   I1 ]( W: D) b( u3 m
                    //for(i=0;i<nB;i++)
    " i# o$ y+ s- i! j3 k$ d8 i, b6 I7 s* P                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    1 v( ~; _3 b8 ~' e9 E! \# t* _3 K1 d0 I
                //求解修正方程* R; E0 [5 j& T$ @
                    for(i=0;i<nB-1;i++)
    " _" E& i6 S% B1 M2 F  f; p5 F                    AA1=DP[i+1]/sB[i+1].Volt;6 C: I0 C8 C" r; T& n% x) d
                    for(i=0;i<nB-1-count_PVnode;i++)
    $ N3 a; s& S& r2 ?. \                        AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;, d2 z" O: m8 i0 M  V8 }/ {0 w
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    - g& [% C$ D1 T" \/ r                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);/ k* m  N- t! y5 h& r! ^9 x, @

      ]5 f* X) G; c: k& }* L                max1=fabs(AA1[0]);* T. I: i, V3 V: b
                    for(i=1;i<nB-1;i++): q2 P, V8 }  P) h3 R
                            if(max1<fabs(AA1))        ) Z# J% M1 k: d
                                    max1=fabs(AA1);
    ) {( Z7 b! g* N                        max2=fabs(AA2[0]);
    $ y7 s0 x, q  o9 w                        for(i=1;i<nB-1-count_PVnode;i++)
    $ C, h; C$ Z% S+ o, f8 U& M" c                                if(max2<fabs(AA2))       
    9 A! M. D0 `% h2 W0 a( y& L                                max2=fabs(AA2);# Z% B6 r) G: r9 w
                    for(i=0;i<nB-1;i++). I& D* J6 F" N+ q  J' S, p( U
                            sB[i+1].Phase+=BB1/sB.Volt;5 q9 N( O' B' N0 T
                    for(i=0;i<nB-1-count_PVnode;i++); ]  F* u/ M% Q2 o& j/ Q
                            sB[i+1+count_PVnode].Volt+=BB2;
    1 d. I7 ~' g( Y1 I2 L* j3 g4 L: x( a                for(i=0;i<nB;i++)2 ~( r* d! G" s) R
                    { : v+ {2 K7 v* t: R
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    : d5 V2 h/ r% m1 L  y                        $ c# V2 w0 N. v, n6 J4 j
                    }
      y: |0 M/ Z% ^/ |9 c" S                printf("\n");) z, c. _' l6 v+ Q) V$ S. v  L2 ^/ \
                            ci++;
    - N" c. h8 W' F* `* K        }
    ! q4 l% H) }" X        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);9 ]3 O3 P, v. u" W
    这是我求潮流的程序,用的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
    4 {: Y0 f$ k2 x  w* |7 i
    9 U3 d! h5 I% F
    - J" R+ o# [0 R   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    ( \0 z5 h! {4 J! ?" z- ]- e$ B3 G: i) i* @; l* o; ~) Q/ c2 `% d1 @4 d  u
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-9-4 00:26

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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