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

 找回密码
 立即加入
搜索
查看: 2526|回复: 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# 玉门关山
    8 D. @, B1 u: u  I6 o
    - Y  ]" F0 T+ C! s
    , F! D: \# n- q0 }0 }    因为我不知道问题出在哪里了。。$ J; X* T" J7 J- t8 E
    do $ ]$ i' H4 W; f) E
            {9 n$ E2 ]% A+ W/ t  n' B4 ?' U
                    //求解不平衡量$ {& N  ?0 ]7 _- U  \' e! O
                    for(i=0;i<nB;i++)
    0 F9 y' U0 b8 ]. Z* W: R                {0 ^) t# H  A, W6 J, d
                            if(sB.Type!=2)//假如不是平衡节点& n$ R, N" Q2 |# c  \+ V  w
                            {        
    + U" \2 C4 ~# S8 Q$ {                                DP=sB.GenP-sB.LoadP;
    1 G8 ~3 D* t1 [7 g6 b                                DQ=sB.GenQ-sB.LoadQ;( A- q: u3 \& a) T0 c3 a
                                   
    . M0 L8 i& l3 ~( }. Z                                for(j=0;j<nB;j++)9 @6 w! M/ l- I
                                    {
    ( R6 i0 k0 O8 x8 S9 o" L1 |% _9 n! v, K                                        A=sB.Phase-sB[j].Phase;
    9 _0 I7 f  ~, _0 G! ?2 S, {1 ?                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));, r( d9 Z+ z" K1 [" w
                                            ( Z  L( F/ y9 L) Y$ p
                                            if(sB.Type==0)//PQ节点* S# A: D. k5 K
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    2 x; V) C9 p0 w. S. c; D                                ' w) h. D9 i$ i! a  X
                                            else if(sB.Type==1)//PV节点
    7 L+ B3 \  @; z                                                DQ=0;6 b  x( K; e% P7 e! [
                                    }
    - T; K  |4 G# k7 H$ D7 W                        }
    0 j- d/ x7 C; R$ m# _4 S                        else if(sB.Type==2)//平衡节点6 c  B, d! l) j" M# A+ f
                                    DP=DQ=0;7 k% v* V- B1 r. h. D
                    }
    $ f* r0 v! Z! t8 a% W; i) u; V                //for(i=0;i<nB;i++)3 O3 m" T0 b5 r
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);
    $ E% c1 Y& @) D+ f/ }8 d& M( \/ y; R) l7 ]+ s
                //求解修正方程
    . s" f' V" n% ^7 Q* X" J0 Q                for(i=0;i<nB-1;i++)4 Q* Q1 m. j9 M8 d
                        AA1=DP[i+1]/sB[i+1].Volt;% Q" L. ]5 i' `  F* r1 [" t6 _
                    for(i=0;i<nB-1-count_PVnode;i++)
    7 ]0 Z* o  a5 n) Z                        AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;; U' n  R, v$ ^6 o% Z/ D6 L
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量* V0 B6 U* j0 }9 ?3 ^, K
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    * Y2 T* m  e7 e8 o6 G' F, B- g, U
    # b; l) D) i' e& L/ B* z( l2 Y                max1=fabs(AA1[0]);# Y4 b' e3 C$ ~- X- t! u7 a
                    for(i=1;i<nB-1;i++)0 U5 F- x5 U' m# m
                            if(max1<fabs(AA1))       
    - E1 g- `  j* y* m2 u( s1 w% m7 {                                max1=fabs(AA1);
    & ^' r9 M1 F: f9 q7 g5 q                        max2=fabs(AA2[0]);
    2 M6 N* S4 I0 \5 J7 K* q                        for(i=1;i<nB-1-count_PVnode;i++)9 `' ]$ ^" s9 b, n
                                    if(max2<fabs(AA2))       
    3 f" W1 k% d7 \3 h; m7 G7 q$ }; U! o% m                                max2=fabs(AA2);: H9 s; z9 J# o$ ?, @% s
                    for(i=0;i<nB-1;i++)/ R' F! p6 b" E' C
                            sB[i+1].Phase+=BB1/sB.Volt;1 O5 [* v- {6 }( l7 G
                    for(i=0;i<nB-1-count_PVnode;i++)
    ; b1 T) q" f. r8 M0 Z' E$ g" B! U                        sB[i+1+count_PVnode].Volt+=BB2;
    9 T$ s3 `# A' Z+ X( b                for(i=0;i<nB;i++)& Z0 _2 l/ U2 R6 ]7 K
                    {   r4 X1 B' Z6 a/ H" @
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    0 n6 n: e6 [1 b, F# }4 z% N3 V                        % f4 p$ O3 u3 N% Z0 J8 X4 n( R
                    }" N; {  E- \- l" U7 J5 m3 M, M: j4 A* K
                    printf("\n");
    ; k7 ?$ g8 i+ v) O! H9 W                        ci++;
    2 y$ l+ O7 J8 [7 r3 q, k9 E* m0 }        }' R9 {; }. i$ R% P/ ~6 K. G) n
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);& l3 z" {1 f- b+ n1 u
    这是我求潮流的程序,用的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 , e" ]- I3 Y& t0 Y% T' A6 q
    + [  c. s8 _8 V9 i

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    , {$ _1 A' {% R$ f9 E0 R
    1 j3 i/ R4 q* _* q  m2 ~3 S: E0 ^2 J建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-2-23 10:12

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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