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

 找回密码
 立即加入
搜索
查看: 3118|回复: 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# 玉门关山
    : k& f  u6 T6 l. r0 B; w5 K: x  W  S; A3 g7 B: k

    + ?; X. i% z& S2 F    因为我不知道问题出在哪里了。。
    2 Y% q% }7 {7 q% d3 u8 P. E9 {% p, tdo : n+ I3 e  S( \
            {
    ) ~8 N2 I# t, H                //求解不平衡量$ e- J# l6 t; ^0 H, n
                    for(i=0;i<nB;i++)
    ; X& H$ @: O: z$ X" g: G! i7 o- D                {
    ! |# ~& l/ t9 a: ?4 W                        if(sB.Type!=2)//假如不是平衡节点
    3 C2 F, d' x2 i2 \                        {         , a7 g8 |% w8 H- S) @/ E; X* l" g
                                    DP=sB.GenP-sB.LoadP;
    4 N. K9 A5 Z% c" s3 d# W6 n                                DQ=sB.GenQ-sB.LoadQ;: X' }, L2 x1 R, }/ b
                                   
    4 z( h; v. {- e6 h  M' S5 E' T                                for(j=0;j<nB;j++)
    5 g* u7 j8 k8 U" O- F                                {5 {  b3 P3 o  X5 k- X' B
                                            A=sB.Phase-sB[j].Phase;5 [0 n9 n! N# L) h8 g
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));* |0 w# R! d2 `7 Q, T
                                           
    4 T1 F: p# I# z: V" O: C                                        if(sB.Type==0)//PQ节点
    / F& s. g# N+ D                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    * ~8 q4 C. r. ?2 `5 x! A0 J6 [1 `                                ; M, k; e) b- e8 ?. k3 s" x
                                            else if(sB.Type==1)//PV节点
    - T% [& J: l) R; D! W                                                DQ=0;
    8 q9 e" ~! ?9 d  @                                }
    ; O# f+ N# L3 D0 f. `                        }: ~' x  ^; G! u% ~% {0 W
                            else if(sB.Type==2)//平衡节点" L: e2 d0 D8 y& j
                                    DP=DQ=0;$ w( s1 b, |( }4 v
                    } 1 a1 d3 l$ ~) @* T! x
                    //for(i=0;i<nB;i++)2 l4 J# S+ D9 t8 ?
                    //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);# X/ |2 y* n" O  b9 e

    * t) x8 M- S8 t& }% E% q            //求解修正方程2 Y7 c; B1 U  y- `
                    for(i=0;i<nB-1;i++)0 L( C9 {! z7 ~& k$ k- _5 L
                        AA1=DP[i+1]/sB[i+1].Volt;7 O+ @5 ^( b# H, \& }9 E- l- v0 Z
                    for(i=0;i<nB-1-count_PVnode;i++)3 _5 h1 }+ Y( H* Y2 I
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;
    6 ~0 ]; d3 E2 `* ^3 t                calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    ) J6 w0 z& x) {0 ~5 ]/ L                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);
      _% `, w8 Q  A0 ^; W0 P# ?' l4 Y; n" ]$ }' a8 g" D
                    max1=fabs(AA1[0]);
    . i' K" s" Q5 S                for(i=1;i<nB-1;i++)
    5 l1 s$ J0 d' e2 r                        if(max1<fabs(AA1))       
    # v# j$ o( |$ l+ N( T' W4 @6 G                                max1=fabs(AA1);
    3 A8 D% R$ p4 f$ t2 N$ h  B                        max2=fabs(AA2[0]);3 S1 _* s: n9 [
                            for(i=1;i<nB-1-count_PVnode;i++)
    8 D* e7 O0 ~; n2 s# ^/ q                                if(max2<fabs(AA2))        9 J; z0 b& ~- x& P5 S0 p
                                    max2=fabs(AA2);
    / e, c  R5 w0 M$ H" S                for(i=0;i<nB-1;i++)$ ]+ D( i. p9 l) i+ ]9 `
                            sB[i+1].Phase+=BB1/sB.Volt;- _/ l) m# U4 C  f
                    for(i=0;i<nB-1-count_PVnode;i++)
    ; W" a- i& ~* j3 L! l1 T                        sB[i+1+count_PVnode].Volt+=BB2;
    ! d+ i' I- W$ L                for(i=0;i<nB;i++)
    8 Q8 S9 k, F& x- O, Q" C                {
    0 C7 A4 C. N3 l                        printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    ! _- s( C# S: `/ G  Z3 w                       
    1 b4 |/ m* h: ]$ s+ x) G8 ]8 Z7 s* D                }. a+ n* [# Y$ U! R
                    printf("\n");) ]$ I9 ?3 B* \5 T+ q% Y
                            ci++;
    % C) Q" K4 A' O        }
    / Y* a1 h% L3 ~- L: g        while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);+ @( r4 ^2 c$ r4 Y
    这是我求潮流的程序,用的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
    1 C0 M- q# ], X. N5 f# j, L9 ^3 v
    1 ~, v4 ~" \6 z0 A! H( _1 J( I9 Z$ _, ?  s# R! n
       跟你的收敛条件设置有关系啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-7-21 09:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    3 p1 ^# w7 p& Q4 f7 p8 @; E* W4 s; N0 w: L0 P% x" |9 n/ d8 X, m
    建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-29 20:46

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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