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

 找回密码
 立即加入
搜索
查看: 2999|回复: 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# 玉门关山 / ^2 O5 @5 E; }: X+ I$ D" R2 P

    7 ^/ t* Q5 B8 S# _0 Z: S" K( c
    % j# |* J0 W( y: w/ h$ R2 u    因为我不知道问题出在哪里了。。
    $ }6 L$ ^6 G% x  P% v- K/ \7 m0 Mdo , J0 G9 f% C: O% W( z! ^' Z6 G$ ]
            {4 e5 ^& o& P% M8 ?: a1 O
                    //求解不平衡量
    $ v& W1 G( e' @5 D; l                for(i=0;i<nB;i++)
    6 v  F  h# m5 w6 q0 G, Y                {4 z/ b* s) G& X* ~
                            if(sB.Type!=2)//假如不是平衡节点! k  B& a7 \' b1 P5 k6 `5 H9 {: A
                            {        
    , p2 b- O% c/ y+ ^. n+ w& G8 m                                DP=sB.GenP-sB.LoadP;
    , [$ P9 U2 A$ t. I1 Q) K. z                                DQ=sB.GenQ-sB.LoadQ;
    . n( L$ _- i( V                               
    ) _9 @- E3 h# f! R! \                                for(j=0;j<nB;j++)
    ; q8 k4 d# ~5 N* q) g' K# E5 r& h                                {
    $ _3 |! x5 z. y' y2 @. n                                        A=sB.Phase-sB[j].Phase;1 G0 j0 F2 d- z# o+ G! |
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    ' E# V8 x* j$ n. ], Q$ S: j* q                                       
    " i0 y9 p. J, H& @. o3 w                                        if(sB.Type==0)//PQ节点1 C) j  X/ T0 V3 z
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));  c- s1 W  i! N7 R
                                    4 n2 H5 F$ J  O
                                            else if(sB.Type==1)//PV节点& D* e, Y% E# E+ k0 R
                                                    DQ=0;
    ( Y2 J1 m6 X- C5 T+ ?                                }
    1 j& K8 g' l2 C- x, y                        }
    % F) Z7 N6 O) |# H% f                        else if(sB.Type==2)//平衡节点
    # E" `. I1 X7 v2 {  e! B                                DP=DQ=0;. |1 I% _5 D. a+ P# T$ y
                    }
    3 U! }6 t. K: l: W                //for(i=0;i<nB;i++)
    ) }8 r8 b+ O1 k! G  ^( @  _. O                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);* e! k! ]9 L- i4 d& N/ ?2 b
    . @9 s. W+ M! A3 H
                //求解修正方程
    1 }! @* h6 a2 c) X- Q. I6 o. B                for(i=0;i<nB-1;i++)
    ' {  _& ]2 {9 @. H2 t                    AA1=DP[i+1]/sB[i+1].Volt;
      V$ f8 G# h" j+ ^; B1 f# A                for(i=0;i<nB-1-count_PVnode;i++); S- Q9 z' L- _4 y
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;$ D3 F& D. ]" Z' Z, x, g" m7 s2 ?- R
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量9 j  V8 O' d6 h( c  T  T( C% |" C/ n
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
    . ~! E( o- p# A3 e1 O+ r! I; `2 }  I. f7 l
                    max1=fabs(AA1[0]);3 V  s8 d. [3 T  S' z+ r0 ?0 G
                    for(i=1;i<nB-1;i++)
    - {, L: W7 `: z; W9 _! c                        if(max1<fabs(AA1))       
    1 x3 N+ V8 \: V) E- X                                max1=fabs(AA1);! ^' A; w, c7 u7 T+ U* n( S, `
                            max2=fabs(AA2[0]);4 B" \8 i$ ^; {) c
                            for(i=1;i<nB-1-count_PVnode;i++)
    . @. Q; r5 C2 N2 f                                if(max2<fabs(AA2))       
    * D8 h/ g6 Q( j; N                                max2=fabs(AA2);
    # F, b' P( u% }; i% \; l                for(i=0;i<nB-1;i++)! h# E3 C5 P# x9 y$ |/ U8 d: W" W
                            sB[i+1].Phase+=BB1/sB.Volt;& V, Q$ c+ }" U' {1 k+ A* I
                    for(i=0;i<nB-1-count_PVnode;i++)
    - F0 b' ^4 w) C8 e' q, @& ^                        sB[i+1+count_PVnode].Volt+=BB2;9 i# _/ A& C3 v, L
                    for(i=0;i<nB;i++)
    - L# O; Q7 R/ H- o) r" l0 j+ _" L                {
    ! J# l: i  Q% l6 a) n                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    6 }% H- F3 B5 F; q                        " S$ H) U+ v. c/ U2 \5 m( z+ V
                    }4 l+ O& g: r: X. i: C1 d9 O8 ]; |
                    printf("\n");+ w9 D8 M7 ]2 Y  O: k! y* u# k; ^! o8 W; L
                            ci++;
    , v/ _" y3 t# K  t* g3 ^        }
    $ e: D( @9 N; ]2 p" Q        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);' F0 |3 }( Z) C2 x- t0 X$ w
    这是我求潮流的程序,用的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
    6 Z" Y' z0 N, Q0 o; C, B3 G7 g) {$ j) h* B: u. g5 O

    ; u1 ]6 P6 q. R! v' L2 G5 n1 b9 X   跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos % p! ?& O' s5 z% R" S- k5 `
    ! B6 B5 C9 g2 G" E8 B6 U# ~2 o
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-9 22:50

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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