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

 找回密码
 立即加入
搜索
查看: 2844|回复: 6

[讨论] 潮流计算程序有误差,不知道是哪里出了问题。求大神解救

[复制链接]

该用户从未签到

尚未签到

发表于 2015-6-16 10:44:58 | 显示全部楼层 |阅读模式

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

 楼主| 发表于 2015-6-16 11:17:56 | 显示全部楼层
潮流程序计算结果又误差是什么问题造成的啊?
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    难过
    2021-6-9 13:53
  • 签到天数: 178 天

    连续签到: 1 天

    [LV.7]常住居民III

    累计签到:187 天
    连续签到:1 天
    发表于 2015-6-16 11:33:18 | 显示全部楼层
    你给这么些信息量,,真得靠大神来答了。。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

     楼主| 发表于 2015-6-16 15:02:40 | 显示全部楼层
    回复 3# 玉门关山 5 B' C2 ?5 P5 b

    & g  z7 Q. p* A! G; a1 v( A. \. D4 I+ z& e( y
        因为我不知道问题出在哪里了。。
    - \* p4 }3 M; ?1 M: Ydo
    . J+ ?" G/ H; m6 O, V% d1 Q% a' w        {
    . a7 ?3 U$ }0 G0 j; w                //求解不平衡量
    ; ]; w8 ]/ l# P  N; Z                for(i=0;i<nB;i++)6 l  B1 n& t- {9 {. m
                    {+ M1 j* O4 |8 T' a
                            if(sB.Type!=2)//假如不是平衡节点( s! l$ \# X/ i2 r% L8 \
                            {        
    / x! y) f( x+ A: @# z                                DP=sB.GenP-sB.LoadP;9 U6 I/ v. v5 y& C
                                    DQ=sB.GenQ-sB.LoadQ;
    9 S& d) u, |; D, n7 x, j5 D                               
    " U+ U6 b; Q8 @. l5 q. V" {                                for(j=0;j<nB;j++)2 ?0 Q# l; w; h9 O% D* N
                                    {& f  R$ t) F% q7 [4 w9 k  H  Z
                                            A=sB.Phase-sB[j].Phase;
    9 g1 I6 ^, L& A. v5 n                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));* [6 o5 T& C6 Q3 O& i. g. r! E3 }
                                           
    + K& p# B; w+ c                                        if(sB.Type==0)//PQ节点
    3 w$ I& ?6 V1 O+ u                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));$ o5 [: K1 Z* }/ F  S; V8 O  a& ~
                                    . v0 Z7 U) Z( p" Y/ @0 b
                                            else if(sB.Type==1)//PV节点
    / c0 X  h8 ~1 j# r                                                DQ=0;
    0 R& t  R9 n" ]. Q                                }3 ?3 F/ ~: H* @7 k9 l
                            }6 l* L; [2 ~# o' I0 p6 ^
                            else if(sB.Type==2)//平衡节点
    1 `7 W3 F9 k  c8 b: E* z                                DP=DQ=0;7 L0 I% d) ^% x' r" A' S
                    }
    5 Q7 J' b! n* Z5 I2 a                //for(i=0;i<nB;i++)
    ) I+ Y+ Y' p* _" f  ^! {                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);5 R' ~8 u0 o3 ~9 P; ?. X% n' O& B

    9 H! x) a) [; _" H            //求解修正方程
    ' e  ~8 o* ]/ B+ K. i" e2 x! T+ H                for(i=0;i<nB-1;i++)
    3 I9 R: F- L3 `8 s  A2 Z. @/ a                    AA1=DP[i+1]/sB[i+1].Volt;
    , X) I; _! j/ _+ ?: n                for(i=0;i<nB-1-count_PVnode;i++)+ ^! |1 X% _' Q4 f9 N7 X
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;
    ( f  o  e4 M" @3 B" ^7 K3 w+ ]                calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
      [( n% y1 d6 O2 _6 N                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);" [8 f2 s3 {7 e$ U: v0 ?

    2 l& |: p' u* p  o                max1=fabs(AA1[0]);' p7 p* D, R, m0 O6 T
                    for(i=1;i<nB-1;i++), S! O- T) f( ^! t5 o7 F
                            if(max1<fabs(AA1))       
    4 x) r* N6 @& Y) u                                max1=fabs(AA1);
    9 V, F) z" G( x4 l$ P. k                        max2=fabs(AA2[0]);$ p$ w6 e6 V2 P9 H5 C% _8 k
                            for(i=1;i<nB-1-count_PVnode;i++)
    0 E; q2 m. [1 `* X# \5 o) |3 Z                                if(max2<fabs(AA2))       
    ) _; t: ]" a5 ~! `4 u7 Y4 S0 `                                max2=fabs(AA2);/ R! G+ s7 V+ f+ Q* Y; L
                    for(i=0;i<nB-1;i++)1 k6 k' m9 }$ D( M/ |. ]3 n
                            sB[i+1].Phase+=BB1/sB.Volt;
    ! s, K+ h5 s) F3 ?                for(i=0;i<nB-1-count_PVnode;i++)
    3 T+ j* B' [% ^4 g                        sB[i+1+count_PVnode].Volt+=BB2;
    $ d4 J/ G  v2 c4 N, s, u/ s# V                for(i=0;i<nB;i++)5 X  X- k8 r: ]+ {
                    { & \+ R% }' v4 E2 i9 u
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);9 T3 K# P  b0 v6 D
                            ' H7 A6 G7 D, B. L* }- {/ [5 o
                    }1 C; {5 b6 ]4 J5 i5 X, {! ?1 N
                    printf("\n");
    - Y; u( I4 C# b" i$ ^                        ci++;- _% H5 v9 [. {9 Z
            }% `6 s) D0 `1 y* @9 x+ }1 @
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);2 K! B: H. e* r5 k7 ~8 h
    这是我求潮流的程序,用的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 ; p! _& j. e! @* W  ~8 \' z6 g4 d- x

    , D& [! G8 i$ F2 A1 z
    5 U$ ~  @( o' q5 g1 l& ]. ?   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos ! A5 V3 w, o0 x& w* r5 G
    ; i# x. k9 G# ]$ l& P
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-18 01:43

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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