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

 找回密码
 立即加入
搜索
查看: 2997|回复: 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# 玉门关山 3 a( d8 x& ?# x* V/ V% O

    & @% P) q0 s* m/ `9 b
      }! M$ j& ^, t: w7 k    因为我不知道问题出在哪里了。。
    9 b' L% E7 u, o0 W9 A: J0 ~! sdo . }$ v3 z/ m% l& K) x1 X4 ?0 A
            {- P! w. p$ W$ [% a  h
                    //求解不平衡量' q% y  ^/ ?. C: n
                    for(i=0;i<nB;i++)& s- D; b( x; v5 }( Y
                    {
    ) l) v4 p/ {1 Q# B                        if(sB.Type!=2)//假如不是平衡节点/ P% K6 L1 K) m
                            {           d9 T+ @% ~8 i9 j+ a4 s/ v
                                    DP=sB.GenP-sB.LoadP;
    / h5 x3 s' [4 {" I% M                                DQ=sB.GenQ-sB.LoadQ;
    0 l$ y: f+ ]' _" R* U: N  g$ l                               
    8 R) i: n. ?1 f! q0 H                                for(j=0;j<nB;j++)1 a- c/ S7 f6 M7 X
                                    {
    ) [/ t( j: W7 O6 C2 T3 o                                        A=sB.Phase-sB[j].Phase;( C/ b* [* j! j: f, o2 T
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));7 G3 P4 N% B4 P- _( d' d% e
                                            6 e/ |! q, j% P* Q
                                            if(sB.Type==0)//PQ节点+ l( Q& [, u) M
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));) D. j* f4 E4 ^
                                    2 N0 N: v" c6 {1 ~* X- @' c
                                            else if(sB.Type==1)//PV节点
    3 J" D/ q% Q9 Z) w- g' W, E                                                DQ=0;: _8 w9 b8 D( k6 A1 O- `; Q
                                    }
    7 ~2 {+ a$ N( N9 [, H                        }6 `$ I% t8 D( }7 w$ v7 U
                            else if(sB.Type==2)//平衡节点
    ' l5 X7 f2 Y  u' U) i! l. G$ o                                DP=DQ=0;/ y+ k  i1 d" J7 Z$ h# U$ b: \2 b
                    }
    ' v( i  h( ]! F0 g                //for(i=0;i<nB;i++)2 s  O" e3 y0 D; J
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);+ a1 Y& W9 K8 \+ z* ]
    7 u/ B, q/ h4 a6 z
                //求解修正方程
    - \0 k' D' h# [' P& j7 k! T& E                for(i=0;i<nB-1;i++)
    % W9 K  X' X% C7 Y; B& k- E                    AA1=DP[i+1]/sB[i+1].Volt;5 e6 |- y9 y; m, i1 b- E' `/ i
                    for(i=0;i<nB-1-count_PVnode;i++)5 Z2 \- S/ {2 d) t
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;+ k1 ]: [0 s2 F+ X  ^1 @
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量3 t6 @. e" Y  q" c0 S1 \* S1 ~, D
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    / v5 ]' ?7 Y1 b, u: M, |! w5 h, F; t; g8 u
                    max1=fabs(AA1[0]);' {/ e# ?% g4 X' Q9 |  R5 B
                    for(i=1;i<nB-1;i++)
    1 \& ]: u  W. ^$ t- _                        if(max1<fabs(AA1))        4 v4 P( |4 e( [
                                    max1=fabs(AA1);
    3 v; \4 h' I9 {                        max2=fabs(AA2[0]);
    4 i4 S$ V0 i" K/ Z" z                        for(i=1;i<nB-1-count_PVnode;i++), |" x! P! U/ ?$ G  O2 u% N8 h: `5 W- e
                                    if(max2<fabs(AA2))        6 C9 V' H# e, p& P
                                    max2=fabs(AA2);0 C: t" ^# x5 O3 I  |
                    for(i=0;i<nB-1;i++)
    9 o, b' h  \! D                        sB[i+1].Phase+=BB1/sB.Volt;
    " f$ U7 S# {' P/ U% b! T                for(i=0;i<nB-1-count_PVnode;i++)
    ! F( r, u& Q& [. x$ s! s9 H! W                        sB[i+1+count_PVnode].Volt+=BB2;
    9 K% b7 Y' D3 `0 U' s1 j/ {                for(i=0;i<nB;i++)* m+ P8 v' Y9 N) O8 W
                    {
    % }% }% q! @1 r# h2 K                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);1 T4 N1 `/ ~0 S. Y$ I6 M
                           
    9 L) l$ y0 Y, U                }, k& K+ M' v  w5 F% u/ S9 r
                    printf("\n");
    7 y. L! b8 v3 v. c8 D                        ci++;
    . @0 g! `# J! `, T        }" m% I5 A! D. a
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);+ E$ K4 H% L1 j) E+ I
    这是我求潮流的程序,用的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 * N# Q( }1 g/ [/ Y# J7 ^
    1 i0 D. r( e% r8 o0 Z) R

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    % {5 Q$ H' `8 L3 @
    / e4 g7 R$ o  D  L建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-9-2 20:32

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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