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

 找回密码
 立即加入
搜索
查看: 2751|回复: 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# 玉门关山 0 a: _! {" |) Y  z3 T0 p

    & ?$ O4 c/ T) a: \& E4 k: Q; h8 H. D" Y7 f
        因为我不知道问题出在哪里了。。4 c+ \  I/ t& c4 V7 j
    do   O  Z7 |8 T, B+ v5 W0 u% h
            {* F8 f! l" K% q; R3 p8 H
                    //求解不平衡量
    / V" a5 s- H5 L' K, I0 H                for(i=0;i<nB;i++)
    0 {! \2 P& Q* J5 q; K+ s7 P. r                {% g1 Y& k4 D( l7 y( A
                            if(sB.Type!=2)//假如不是平衡节点
    : `* H4 s) N" m- Q& a- W                        {           ?' H5 Y5 ^, H8 [0 j
                                    DP=sB.GenP-sB.LoadP;
    ! j7 g" m: b" p0 b/ ~. s3 ]                                DQ=sB.GenQ-sB.LoadQ;
    8 `* D+ |6 I8 m                               
    6 h. ]+ R) ]- ^6 H                                for(j=0;j<nB;j++)* D4 f# k- }0 A% W# x2 b
                                    {5 Q- o% c! C3 X0 _2 F- R0 g2 l1 g' E
                                            A=sB.Phase-sB[j].Phase;! H3 i  |* H; y  b( c( J  w
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    + j  P% K" i5 v! x9 c; o4 i9 O                                        6 u! T7 W0 H+ _: k
                                            if(sB.Type==0)//PQ节点  \5 q/ o% H1 C2 |3 d6 B
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    , `# J. i/ a" c2 D% v/ A" \# p4 A$ Y                                ( A& l  ]) l/ v1 ]( f% m
                                            else if(sB.Type==1)//PV节点/ t. e* E6 h% K9 I5 E
                                                    DQ=0;$ D) n! d; a5 s
                                    }" z0 A. [5 p2 q- _1 K9 |1 L7 i
                            }
    ! ]1 P' I0 p% k                        else if(sB.Type==2)//平衡节点
    5 U% w) W# j( r: w, R' Y. D                                DP=DQ=0;" {- Z9 |( E$ U! i, ?4 w
                    }
    , D6 N7 J; {1 Y# W                //for(i=0;i<nB;i++)9 k* U8 J* A. X  Y, X; ?3 p$ W
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);( N6 {( C+ c; y+ @; {# y

    5 z% q3 w8 s/ f  M. x            //求解修正方程
    3 y& K/ v7 Q0 x& I! ?5 k) g( s" J                for(i=0;i<nB-1;i++)' S" ?  ~# d' w, q8 J
                        AA1=DP[i+1]/sB[i+1].Volt;
    3 A: o  K* [3 Q+ B2 X                for(i=0;i<nB-1-count_PVnode;i++)( x' J: @3 r# T5 P0 K8 w, E8 Q& I
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;8 B3 V, U! ]2 A: W/ p
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    9 u. K' @/ U8 q( S4 C7 O                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);% ?$ A" R6 |  b  r1 T; ]& a2 K4 c. B* v) B% C
    # d! z  W! _& J9 g+ q  G
                    max1=fabs(AA1[0]);
    8 f0 g4 {& \! ^. z" o7 ?                for(i=1;i<nB-1;i++)2 M- l+ a( m9 a' \
                            if(max1<fabs(AA1))       
    0 L4 O" i/ M7 M/ ~, T' [, `                                max1=fabs(AA1);6 R. F0 M# e8 e8 V1 e' c7 Y* J
                            max2=fabs(AA2[0]);
    ) r. W( A; J- ?" K) n. c; z                        for(i=1;i<nB-1-count_PVnode;i++)/ \7 [4 L* D( x3 ~
                                    if(max2<fabs(AA2))       
    + O/ ]  N( O( b+ o) m  Y/ U, E/ S                                max2=fabs(AA2);
    & z5 j- ~- s! ~% c                for(i=0;i<nB-1;i++)
    ' `4 S$ }; H1 K; B! ?* Z                        sB[i+1].Phase+=BB1/sB.Volt;8 o" k* `4 n" j2 v; v6 @# h; s
                    for(i=0;i<nB-1-count_PVnode;i++)
    5 d& G3 t) S( ]                        sB[i+1+count_PVnode].Volt+=BB2;
    1 b% _, M) E* N$ S/ t                for(i=0;i<nB;i++)
    . v8 V/ l, R& d: g: m* c                {
    . @% q/ p1 j' o1 }& p( T                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);: J! Y& l3 q3 K8 o0 a
                           
    & b3 ?, n, r( c8 [" [                }
    ) P9 h* l3 c! k) ^  n4 u                printf("\n");9 ]# L; Y7 Y5 [% _0 w
                            ci++;6 H* P. b5 |/ n
            }7 w& I& t' g4 M; N) L, B
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);; v. c  a% H6 C' q
    这是我求潮流的程序,用的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
    ( S4 w0 a/ ~0 A) {$ ?' }) }* O7 I: s- M/ L+ X

    * P" m5 f4 V3 P7 {/ T6 }# d- v0 ~   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    8 F/ C' {3 S, ?; O" W+ w4 G& `$ E" N5 N. S$ K
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-12-15 03:04

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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