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

 找回密码
 立即加入
搜索
查看: 3127|回复: 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# 玉门关山 % r" p5 b! V3 K" A

    . j2 S* O+ h# L% D$ q& n+ P/ e2 s1 a. _: W' z
        因为我不知道问题出在哪里了。。- K8 ]) t0 u8 }. O
    do
    9 O' B- R, Z( T* v        {1 Z# H* o. e0 L9 J" o
                    //求解不平衡量+ ~! L/ }/ x8 I  E
                    for(i=0;i<nB;i++)9 K6 {2 j' s0 m; z- d, g
                    {  e8 }1 b: v0 @
                            if(sB.Type!=2)//假如不是平衡节点
    ! i; Z4 ^  l$ I0 M, J5 U                        {         + d8 o, Y) |/ w) |9 e, ?$ U
                                    DP=sB.GenP-sB.LoadP;9 O) h: o7 D% I7 w5 o" X" U+ q$ |
                                    DQ=sB.GenQ-sB.LoadQ;; G. [3 m9 L# w( e4 ]( P
                                   
    0 Z+ ]2 x/ Z7 z4 D                                for(j=0;j<nB;j++)) E4 R: C( [# s* C8 E1 N
                                    {% H. c; b7 b. Y! L; y9 X4 p
                                            A=sB.Phase-sB[j].Phase;
      ], a% Y! \8 q8 w: ]! h                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));' h$ @+ ]6 q5 {, r, W! A
                                            4 G( q9 Y. D" m3 m' R- y" \
                                            if(sB.Type==0)//PQ节点6 ?+ j" @7 A& ~" c
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    1 t# ^' N9 U# ^% D, @4 m                                3 K( V3 {) n- N
                                            else if(sB.Type==1)//PV节点
    3 K+ z4 p4 T+ Z% P' Z: d2 S5 R                                                DQ=0;
    % f2 @- j+ P- F3 E                                }
    6 f* f, k% J& y" }8 d- a% E                        }
    ' e$ k6 T* }6 S' {( a9 I                        else if(sB.Type==2)//平衡节点& n) |/ A  y- K- K5 v4 ~/ F
                                    DP=DQ=0;
    8 h' N& m1 C1 X+ P- _6 Q: @2 Z, k                }
    4 |1 x+ K$ ^( x( Z. J' b                //for(i=0;i<nB;i++)5 V0 x4 Y: K' d: v" B% b
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    4 t3 M, W  j9 ]& y$ f6 U2 D4 J0 z9 ?7 H( y" T* J7 x9 `, @& \; m
                //求解修正方程0 S# D8 t' x6 |8 W
                    for(i=0;i<nB-1;i++)  S7 B% ]7 F; R& L+ `$ K
                        AA1=DP[i+1]/sB[i+1].Volt;
      S( f% T" D2 h" L                for(i=0;i<nB-1-count_PVnode;i++)! a. E/ s( I% e1 d+ {! v
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;' G+ }2 m, J5 [: J
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量7 \& O9 s3 ~1 g7 u+ _
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    % {6 ?% T! L$ K) A# n* m5 j8 U! }0 n$ l2 x' h: R
                    max1=fabs(AA1[0]);
    5 ^; h& x/ @# w4 a1 L  l                for(i=1;i<nB-1;i++)
    , j) S, a& m# n/ `( D5 Z7 G                        if(max1<fabs(AA1))          E' S5 F/ N  R$ i' ?$ b% Y
                                    max1=fabs(AA1);& K( W: Q9 t. H: |# g8 n! P
                            max2=fabs(AA2[0]);/ C5 C9 g' t3 j: x5 x2 d% Q
                            for(i=1;i<nB-1-count_PVnode;i++)2 j7 P- r7 q+ T; N! B
                                    if(max2<fabs(AA2))       
    % x$ R0 j# E( m                                max2=fabs(AA2);
    ( K  ]) ~4 A& n6 `% U6 n                for(i=0;i<nB-1;i++)
    ' p; T3 h3 N. ^1 S                        sB[i+1].Phase+=BB1/sB.Volt;
    # z% D8 P; `- N' C- m5 _                for(i=0;i<nB-1-count_PVnode;i++)" v6 o8 Y  `, r" w# J
                            sB[i+1+count_PVnode].Volt+=BB2;
    ) `, {5 ?: H. N; r6 u% e                for(i=0;i<nB;i++)6 P* s3 Y# y! ~! T+ G& l
                    {
    $ `+ g* j% S' B) o- w. s                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    0 y/ G' e1 u( @0 q2 v                        5 ^/ M! p4 _% h* \+ E
                    }
    6 N8 o- L: k% {7 Q. p/ Z- e$ X. |                printf("\n");
    ) o: ]& ~. Y( F: [. U" U" \                        ci++;1 A4 m, I* O- q% S: l
            }) T6 ]6 B4 @" H2 A
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);1 Q8 |# e' |- i7 s) Z
    这是我求潮流的程序,用的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 W; b8 `4 u) W1 T/ r
    - O; J0 L& R% `% Y$ T
    , G& O4 a7 d6 q   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    ) a; W: u% q: l! S+ r; v  o- F( L
    + e8 f  S% |- o- R; Q1 B建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-11-3 13:58

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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