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

 找回密码
 立即加入
搜索
查看: 2840|回复: 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# 玉门关山
    7 Q% c0 I. J- o% e% b) F+ B0 o% n' {- o- k; t4 F' @

    ; h/ N+ B4 M% V/ e" c8 F    因为我不知道问题出在哪里了。。
    ! k' z( o* d. R2 I& kdo ' l4 ]5 H" E$ \$ w
            {- d4 v# M7 e3 c% g3 {* F! ]
                    //求解不平衡量
    ! E; I+ ]  a6 S2 n3 Q  @- c9 p                for(i=0;i<nB;i++)
    & O. W! Z8 z0 a# X                {$ m0 Q( n- w) o
                            if(sB.Type!=2)//假如不是平衡节点1 o0 U+ W. W  G! X
                            {        
    " r  H' C( }  K2 e                                DP=sB.GenP-sB.LoadP;
      ?! m6 [; U2 A                                DQ=sB.GenQ-sB.LoadQ;& N3 ]7 g+ u$ I4 L
                                    . M- N, J& K3 q7 R" l, I8 Z. ?
                                    for(j=0;j<nB;j++)
    * `1 G) [5 W/ a) D. w                                {
    3 l# S  m$ _" t9 u2 s5 ~/ m. p& j                                        A=sB.Phase-sB[j].Phase;
    7 H' E0 g: F' \                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    " C: D. S' \# j# M                                       
    - k4 ^: _& }4 N                                        if(sB.Type==0)//PQ节点
    & @! k/ o6 C5 o2 B  o! o                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));* H# a& D  w) @' g+ z* j
                                    : s: r  r) T. ^+ W
                                            else if(sB.Type==1)//PV节点
    4 @9 c6 Z1 u% j$ D0 C                                                DQ=0;1 W) b2 O2 p: L. p) \' m
                                    }
    + {  k8 K( _$ q3 A1 j7 M                        }
    7 v$ s8 m/ m& P6 O: J                        else if(sB.Type==2)//平衡节点
    / R: J1 F9 r2 P& {. L                                DP=DQ=0;
    ( \; I) l  k. [8 @6 A                } 3 f7 J: M- {4 _/ ~. S+ {
                    //for(i=0;i<nB;i++)6 \% L, {/ V# z- }3 g0 R3 [5 ^; v- w0 w
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);- r, U8 p# Q: J" c, p
    " O  H7 y4 e- \; S5 |8 e+ X0 Q
                //求解修正方程6 d( R# N/ F) B$ G4 \7 `
                    for(i=0;i<nB-1;i++)
    * v4 B- L4 D0 z3 W6 _                    AA1=DP[i+1]/sB[i+1].Volt;
    4 Y( v" x8 D  p& z                for(i=0;i<nB-1-count_PVnode;i++)
    + U% {8 v$ [, v) t                        AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;& S/ d4 M+ w- U9 L
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    , V2 p; i- [5 u% k8 _7 f  r                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);/ I3 `$ H: G% D- O

    " Y3 g# R8 `+ Q0 W                max1=fabs(AA1[0]);
    2 e0 `9 |* n+ c; R* t. {                for(i=1;i<nB-1;i++)
    ( {: G' b2 n* c' K* b0 D! k9 k                        if(max1<fabs(AA1))       
    ) e; e  w9 y) }2 ]$ B) I' v/ R8 N                                max1=fabs(AA1);$ T% z0 g9 s: `( c# J
                            max2=fabs(AA2[0]);
    # g3 w+ M2 D+ L  z                        for(i=1;i<nB-1-count_PVnode;i++)# C: t, b8 J' u, Z& A  _. G
                                    if(max2<fabs(AA2))        / ?, i  O# g' ?; p
                                    max2=fabs(AA2);
    ; K; P1 o& e/ m7 w# N3 \. h+ k                for(i=0;i<nB-1;i++)
    " y) Z- j) ?! A% H7 J) W1 ]* P                        sB[i+1].Phase+=BB1/sB.Volt;
    , s7 J1 ^, V! V$ V% G8 T3 Y5 k                for(i=0;i<nB-1-count_PVnode;i++)& h4 L- ~( ?' Z
                            sB[i+1+count_PVnode].Volt+=BB2;
    8 E' f0 F- s+ S                for(i=0;i<nB;i++)
    . N9 }% k& ]! {                { 9 F+ U9 n6 T( N4 {
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    5 t- I- I  i4 c3 V' V, \  S* R                        2 j' Z! F/ V  D2 s! ?
                    }& T& L& T# w" R3 X4 |
                    printf("\n");
    7 ?9 p  S, T0 `  B  M$ D  R2 O  {                        ci++;
    # M% d4 N' I" w6 L+ G. @        }
    ) V0 W* s7 O& `1 g5 w! @        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);2 L' \8 V( }  p
    这是我求潮流的程序,用的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) d+ }1 j' r# B4 J
      S) L9 ^" E+ f' d, r$ L+ H

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos / h8 v! r: |# S/ T# G

    / a( X# Y: G$ v  p建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-16 17:12

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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