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

 找回密码
 立即加入
搜索
查看: 2839|回复: 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# 玉门关山
    2 k) i6 l; k3 |# y+ s2 @, A
    + _- g2 c! B/ M1 o4 V& K: @; ?  a3 W
    9 p" j9 b4 p( @/ x    因为我不知道问题出在哪里了。。, N$ d- z7 m( k5 M; _- F; ~
    do ( ]+ k: u- L9 X8 W
            {
    : S* N5 L/ J# \4 K, P; `; b                //求解不平衡量
    ! y7 `! ]) C9 y0 c" \8 A1 A                for(i=0;i<nB;i++)
    3 q" N7 j0 Q0 s) C. r/ q4 z                {6 S8 ]4 d# @1 d
                            if(sB.Type!=2)//假如不是平衡节点" k! K2 r7 M" k! e
                            {         ; M0 L# M0 x. L! X
                                    DP=sB.GenP-sB.LoadP;4 ?$ X: d" {8 }3 j# v- V
                                    DQ=sB.GenQ-sB.LoadQ;6 L- {3 f. n+ O& s5 V( Q# ^
                                    0 X! c" L( o# `
                                    for(j=0;j<nB;j++)- p6 ]0 Q& x( E# ^# W3 S: K6 {
                                    {
    : O' _7 g* S) T7 K7 G# y                                        A=sB.Phase-sB[j].Phase;
    * i6 y* @& |# ?+ d* V                                        DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
    $ h2 [1 b0 h$ ?( ?                                       
    0 Y" @% e5 @0 l& z/ r( n5 I) [; t4 q! p% b                                        if(sB.Type==0)//PQ节点2 c* ^2 K8 s3 Y6 S- [$ i' {
                                                    DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    + B0 M8 r, W5 |! h                               
    ' F  S) _3 N  w                                        else if(sB.Type==1)//PV节点
    : D6 I  z; j/ P3 f                                                DQ=0;2 J6 ~1 m' _- p/ h
                                    }
    8 ^1 w2 w  C; [2 W1 Z                        }( L! |9 ]6 W8 g* T  {- q4 b+ j  u) C
                            else if(sB.Type==2)//平衡节点: E; i( D* z2 e% |/ X4 y
                                    DP=DQ=0;4 N$ \3 P' j2 Q" O- r
                    }
    , x! N6 ~) N8 s                //for(i=0;i<nB;i++)
    - f  y: l! l8 g                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);# q: M- d0 }; `; ^
    ( `) W7 S/ D4 b
                //求解修正方程* J& A3 s1 D8 F% A: W
                    for(i=0;i<nB-1;i++)
    2 U( Y9 v2 u! p. M' o                    AA1=DP[i+1]/sB[i+1].Volt;
    6 E3 H) U7 k/ ^' J                for(i=0;i<nB-1-count_PVnode;i++)7 ~* W3 V: e# d1 D. h/ X( N) x. G# x
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;: c# l1 S. r6 k1 S8 l+ P
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量" Q; ^% f6 I2 o9 h5 E% ~
                    calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);# ]- j; M) B/ ^! l: B1 g" `

    2 {0 S% g3 n9 Y: V+ F; D                max1=fabs(AA1[0]);5 ]/ K9 C5 S  x- Q% y5 H) \% u: `
                    for(i=1;i<nB-1;i++)
    " P9 h1 D. ?7 n# b5 R) S                        if(max1<fabs(AA1))        4 t% v7 S" h" Z% Z5 u
                                    max1=fabs(AA1);
    ) E" L4 ]! E- j* e: ~  j  C& _/ `                        max2=fabs(AA2[0]);
    ; ?; [3 t! q6 B6 q: R/ ]6 o                        for(i=1;i<nB-1-count_PVnode;i++)
    : U2 L2 Y6 [# b1 i/ Q3 Q9 f                                if(max2<fabs(AA2))       
    % z- N4 j. \! V! T) G4 _' v( j                                max2=fabs(AA2);
    * \- T: i) X8 g3 l0 `. s                for(i=0;i<nB-1;i++)$ s$ m4 h5 a- [! G2 b3 \. B
                            sB[i+1].Phase+=BB1/sB.Volt;
    6 I5 p7 c4 T7 W5 K# y; u                for(i=0;i<nB-1-count_PVnode;i++)
    , ?- L- N5 |. g2 u4 ^                        sB[i+1+count_PVnode].Volt+=BB2;
    ' x9 N0 @) @8 [4 d+ G                for(i=0;i<nB;i++)
    8 h% r  g" M! x. k: h+ G                { + {0 y) }  x  P$ K
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    ) E+ S) S2 s# s# _                        ) d8 ]  W* m4 M7 R; H$ U; }
                    }
    2 f8 F2 y( s1 n; i4 H$ O                printf("\n");4 [; q' N9 e/ E9 u
                            ci++;$ e& ]+ S& }/ V6 ^# }% C3 `
            }
    : V4 r9 z0 Y7 |# p  V$ F/ s9 U2 l        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);
    3 x7 Q! E7 _7 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 ; i: G8 _- h3 x1 i

    - |# V: j# }0 r' b. t7 h" P& ~' o  S7 J3 H1 H. T9 s3 s0 x
       跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos + ?- I/ f! g5 j1 o! a
    1 D0 ?2 ~# K' y0 N9 M) }3 x
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-16 15:10

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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