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

 找回密码
 立即加入
搜索
查看: 2960|回复: 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# 玉门关山 ! P' t- u& Q% C9 B
    3 V$ s2 E* E. V+ z/ n4 I! Q

      ^& b6 K# y5 O3 g: A7 H9 |8 d    因为我不知道问题出在哪里了。。
    ( X, I3 M% l6 V+ l1 }do : e4 h/ S3 Z9 b  y1 P0 f% O9 Z6 j% E' y
            {
    $ L3 m! `8 n7 u                //求解不平衡量
    % l0 C+ q, A' `- \2 c                for(i=0;i<nB;i++)
    ! J$ R3 y9 [5 E! h' m! [" p7 l                {2 Z" F( ?' S' l( j. i' F1 d" u
                            if(sB.Type!=2)//假如不是平衡节点# O' d% s" z$ o: X
                            {        
    3 L* C3 L' ?3 P1 R' c                                DP=sB.GenP-sB.LoadP;* |+ U) {' W# ~
                                    DQ=sB.GenQ-sB.LoadQ;0 B5 F/ V. W* T5 k# B+ e9 C
                                    : g( ?  [0 f7 S+ Y- Q
                                    for(j=0;j<nB;j++)
    ; o2 T+ p. s* i& G                                {
    # u  J% B2 Z/ s" {# i9 [                                        A=sB.Phase-sB[j].Phase;) d5 w1 z8 D/ m( y  V6 Q
                                            DP-=sB.Volt*(sB[j].Volt*(g[j]*cos(A)+b[j]*sin(A)));
      a& r/ ~7 I; Y( F% W                                       
    " o& h+ X4 c* @; Y3 h                                        if(sB.Type==0)//PQ节点
      g+ g* v* S9 u  P0 n- p4 N: K" y4 S                                                DQ-=sB.Volt*(sB[j].Volt*(g[j]*sin(A)-b[j]*cos(A)));
    7 t/ L* Y1 B( N, c                                0 ]) ?: h8 W( Z2 ^  |2 Y
                                            else if(sB.Type==1)//PV节点
    6 ]+ W7 ]: A! ~: a! L; o! @                                                DQ=0;0 ]* O) z6 W/ Z, j
                                    }: u1 H* ?2 X$ g; S! ~! N: M
                            }' A6 c# _) a; ~8 G% O3 u' [
                            else if(sB.Type==2)//平衡节点; {! u: y- @$ T
                                    DP=DQ=0;9 J/ _2 O* ^* G5 J7 P2 ]
                    }
    1 i. c: G, r% Z4 Y                //for(i=0;i<nB;i++)
    ) b, Z7 W/ k. ~# z( j                //         printf("DP[%d]===%f,DQ[%d]===%f\n",i,DP,i,DQ);# v2 d; D8 i3 m# B
    8 N- o: I+ e( i
                //求解修正方程
    3 I* B& S) g& p  F                for(i=0;i<nB-1;i++)
    , T# o- C2 F' X! e8 O3 a9 i, M                    AA1=DP[i+1]/sB[i+1].Volt;
    1 `& R; a. }5 U* [( g  t                for(i=0;i<nB-1-count_PVnode;i++); j! k" b* B1 a  U$ O" k& D
                            AA2=DQ[i+1+count_PVnode]/sB[i+1+count_PVnode].Volt;+ U; w( [; T% K1 X+ ~+ }
                    calculate_gaosi((double **)b1,BB1,AA1,NBUS-1);//AA是不平衡量,BB是解向量
    % X' H& g" `4 A: B& P# f  @                calculate_gaosi((double **)b2,BB2,AA2,NBUS-1);% @2 R/ z  L, |

    8 a! C% }, n' A& f, C, t: X                max1=fabs(AA1[0]);
    : A- Q+ O5 c. a0 |' n, F. d/ v! G& i                for(i=1;i<nB-1;i++)7 t0 P7 L- K8 S( D
                            if(max1<fabs(AA1))        . C! Z- D7 P; f& H
                                    max1=fabs(AA1);0 r' q- F4 _4 N! W6 m# Z
                            max2=fabs(AA2[0]);
    & @/ V( F1 W8 D$ u; X# [8 B                        for(i=1;i<nB-1-count_PVnode;i++)
    3 ^+ z) R( D" p) n0 x& }                                if(max2<fabs(AA2))        ( C* N! V& D! M- X
                                    max2=fabs(AA2);4 Y4 G2 X7 S/ q
                    for(i=0;i<nB-1;i++)
    4 c% g# _- N; o; |9 }                        sB[i+1].Phase+=BB1/sB.Volt;
    ! n& @7 o+ @8 m3 k1 j' ?# y" {" l                for(i=0;i<nB-1-count_PVnode;i++)
    0 E+ G8 J: k- G& ^+ S) @                        sB[i+1+count_PVnode].Volt+=BB2;* i8 y$ t9 I" G( X5 p# N
                    for(i=0;i<nB;i++)0 C: x* \8 c* x: C' I" |
                    { ' n! K8 H8 t& \; u* H+ R. h2 @: u
                            printf("sB[%d].Volt=%f,sB[%d].Phase=%f\n",i,sB.Volt,i,sB.Phase*180/PI);
    1 `0 K8 Q7 x$ A2 H: E6 {2 Q                       
    1 ?9 @+ G9 j1 b% V9 L+ ?                }
    " e7 }, D! w7 n, x+ _                printf("\n");4 {. O. ^( M% p$ `9 n# h2 g6 h% q
                            ci++;0 F7 M/ M- e  o9 Q5 a
            }8 m7 c8 P. }5 W4 i0 ?6 ~7 n; G
            while(fabs(max1)>0.00001&&fabs(max2)>0.00001&&ci<40);
    : X: q% N( |1 f; I" @2 j$ L这是我求潮流的程序,用的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 4 b. n! V7 ?( Z8 I% T0 D& |
    * r2 `9 p; u- C  v, j

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2015-10-4 19:00:33 | 显示全部楼层
    回复 4# lllmos
    , N/ k. J; D1 Q# W" M! d
    4 E/ S9 K! @/ |: i* D& E! @6 b3 U建议楼主换几个软件试试,SPS,PSSE,PowerSystemWorld,特别是PSSE算潮流比较专业。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-7-15 13:04

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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