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

 找回密码
 立即加入
搜索
查看: 3125|回复: 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# 玉门关山
    - b+ h+ {4 y/ H% J; p5 n$ ^  a4 L+ R' V+ O6 e# u( G- c: T! h

    & F7 \% G, E8 H; }    因为我不知道问题出在哪里了。。3 D' S" {& s3 q! Y5 _6 v
    do
    : B1 \% \/ V5 Y6 e3 ?        {
    * @0 v: L* v% g) `& i' F                //求解不平衡量& z5 m% u, F9 q+ e. n9 P. |
                    for(i=0;i<nB;i++)
    ! h6 Z$ ?( i, C                {& p+ ^; ?$ B) k$ U! x0 l3 c7 n
                            if(sB.Type!=2)//假如不是平衡节点: L+ s5 [* F# Y3 i- F$ `
                            {         7 N. J0 y3 L/ Y% t, B
                                    DP=sB.GenP-sB.LoadP;
    1 @( t$ L: k* ]- [                                DQ=sB.GenQ-sB.LoadQ;& a* N( e6 s# X1 g# q; _' C* G& k
                                    ' k+ L: P8 `! G% P6 A- ^' `
                                    for(j=0;j<nB;j++)$ @& O" y, K# j% o1 l$ v3 x5 w9 [- |
                                    {! S' F* W* `( b# ]" m
                                            A=sB.Phase-sB[j].Phase;- N$ z+ S8 G! I
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    0 o( k6 {  H- `' c% N" Y. G                                        4 [6 Z- d6 E9 u
                                            if(sB.Type==0)//PQ节点& {+ q9 f; `9 d
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    1 k* o# c( Y, p                                2 b. I6 Z( Z5 ~0 X# F& B) ~6 D
                                            else if(sB.Type==1)//PV节点5 @" l& F, v" R) F/ I, B8 O
                                                    DQ=0;
    2 ]! U& c8 l" d4 K" C% Q                                }) }; o1 y- B3 a* p! j
                            }! ?% ?& q- c' c* `: f
                            else if(sB.Type==2)//平衡节点) _! O: C; Z' @8 R6 \: H
                                    DP=DQ=0;
    . f: _$ O- x4 }  k5 ?+ h; f+ e                }
    / q5 S' B' G( t7 N* b$ e8 S                //for(i=0;i<nB;i++)
    $ M3 J# P+ X; H1 F% L% b3 g                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    ! V- ?2 C7 h* t+ u7 v% j) |! `
    & t8 L" }$ r; e) W& s9 D: y            //求解修正方程) J9 S( B5 o- ?: \8 w# h1 n3 B
                    for(i=0;i<nB-1;i++)+ m0 {9 {9 [9 h% b# `
                        AA1=DP[i+1]/sB[i+1].Volt;
    , H/ q# _+ ^- s* v                for(i=0;i<nB-1-count_PVnode;i++)8 L. o" o% N$ d* V4 U" @+ M
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;
    ; F9 D9 H' `- j. }& C                calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量2 g& n  o( v; ?, c
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    & U) |3 E5 ^4 W- ?. {  _0 _$ [
    3 x. g% `) o- h& f* S9 t                max1=fabs(AA1[0]);
    9 F' g9 i4 U- r% H                for(i=1;i<nB-1;i++)4 u" X$ [+ u2 X5 M
                            if(max1<fabs(AA1))       
    ( ?# w' s6 h4 Q) [                                max1=fabs(AA1);. z& _( j  x$ ^6 ]  f, B0 H9 N
                            max2=fabs(AA2[0]);1 s1 t. X" t" K7 v: {$ C
                            for(i=1;i<nB-1-count_PVnode;i++)+ a  Z( A7 S. ~6 X" @4 e3 p
                                    if(max2<fabs(AA2))       
    8 T2 H* A  Q; U* v  D9 L5 Z2 Z                                max2=fabs(AA2);# U5 |. Q# s$ ~) ?3 e1 b7 A
                    for(i=0;i<nB-1;i++)% D4 f" Q! S; {2 K! `" J
                            sB[i+1].Phase+=BB1/sB.Volt;0 a) K6 |- [$ h
                    for(i=0;i<nB-1-count_PVnode;i++)
    + w1 l1 }% B# E                        sB[i+1+count_PVnode].Volt+=BB2;7 j$ F# S5 B, a8 V$ w2 U: A$ L
                    for(i=0;i<nB;i++)  c# m6 g- J6 Y* T% r8 F
                    {
    9 ^" [/ k& k: j* ]- x2 U% G                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    ; ]! o5 u- ^3 M( [' B1 U                       
    9 h, w3 t/ L! P: l                }2 G* A: ?% x$ |! V* v& s
                    printf("\n");
    : z1 D" S, Z- J" g- m                        ci++;  i! P  I3 I' h3 R2 _
            }
    ) A) X0 K1 |# W. c) R4 K$ i& P        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);8 h/ P+ N0 x- N9 s' 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 5 R# H# r7 D* j% k1 d) k. V

    # ^% j) m# W5 R/ c' z
    % q2 h: g& |$ i- c' Y# A1 G- V   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    3 k  b3 q  S6 e: ]) {% H3 ]* i( m' v) g! U, Y  ]2 ?3 M! {5 Y
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-11-3 06:28

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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