电力系统分析潮流计算问题 内附详细题目

诗涵百草兔 2021-09-18 16:50 377 次浏览 赞 127

最新问答

  • 年少无知23

    #包括“stdio.h中”
    的#include“math.h的”

    #定义M 20 / *节点数目,分行数目* /

    #定义N 5 / *迭代次数的* /

    整数N,M,DD = 0,PQ = 0,PV = 0,TT,QY;

    浮动EPS / *节点数目,地支的,PQ节点,PV节点,控制打印,互联网一些精密* /

    结构jiedian / *节点的结构* /

    {int类型; / *节点的分支数类型:1-PQ节点; 2-PV节点; 3 - 平衡节点* /

    持股量P,Q,E,F,V; / *节点主动和无功功率,电压,实部,虚部发言电压值* /

    } jiedian [M] / *作为一个参考节点的无功功率,相比jiedian [1]。 Q * /

    结构植绿/ *分支的结构* / {P1,P2,S / *分支结束节点号,分支类型:1 - 正常滑中国 - 变压器分支3 - 地支鲁* /

    浮动R,X,B,克拉; / *防滑性,抗,导纳,非标准变压器匝数比* / }植绿[M]; /> 结构hulianwang / *网络结构* /

    {数,PV / * Internet区域的号,指定PV节点数量* /

    持股量P,EPS2 / *指定激活时,其允许误差* /

    诠释计数; / *每个区域包括相互连接的节点* /

    INT A [M] / *包括节点* /

    } hulianwang [M];

    静态浮动G [M] [M],B [M] [M],G1 [M] [M],B1 [M] [M] / *节点导纳矩阵矩阵* /

    静浮YKB [2 * M] [2 * M] / *节点导纳矩阵矩阵* /

    静态浮动饮子[2 * M] [2 * M];系数表* / * /

    静态持股量P [M] [M],Q [M] [M] / *流* /

    FILE * FP1,FP2 * / *文件的输入和输出指针* / / a>

    无效输入()/ *输入文件in.txt基本参数,节点,分支机构线* /

    {

    INT I,J,H / *循环变量节点(分公司)类型* /

    / **********************************开放电网参数文件********************** /

    FP1 =的FOPEN(英寸TXT“,”R“);

    如果(FP1 == NULL)

    {

    的printf(“无法打开文件in.txt!\ N”);

    出口(0);

    }

    / ***********阅读的节点,多家分支机构,互联网号,PQ节点,节点和准确性的光伏*********** /
    > fscanf(FP1,“%D,%D,%D,%F \ N”,&N,&M&QY&EPS);

    / ******* *****************读取节点信息****************************** ******* /

    (1 <= N;我+ +)

    {

    fscanf(FP1,“%D”,&H); BR />(H == 1)/ *类型H = 1的PQ节点* /

    {

    PQ + +;

    fscanf(FP1,“%F%F %F,%F \ N“,&jiedian的[I] P,&jiedian的[I] Q,&jiedian的[I]。&jiedian的[I] F);

    jiedian [ ]。 S = 1;,

    jiedian [I]。 = SQRT(jiedian [I],E * jiedian [I] E + jiedian [I],F * jiedian [I] F);

    }

    其他(H == 2) / * H型= 2是PV节点* /

    {

    PV + +;

    fscanf(FP1,“%F,%F,%F,%F \”& jiedian [] P,&jiedian的[I] V,&jiedian的[I],E,及jiedian [I],F);

    jiedian [I]。 S = 2;,

    jiedian [I]。 Q = 0;

    }

    其他/ *型h = 3是平衡的节点* /

    { jiedian [I]。 P = 0;,

    jiedian [I]。 Q = 0;,

    jiedian [I]。 E = 1;,

    jiedian [I]。 F = 0;,

    jiedian [I]。 V = 1;,

    jiedian [I]。 S = 3;

    }

    }

    / *************************** ****阅读分支信息************************************* /

    (I = 1; <= M; + +)

    {

    fscanf(FP1,“为%d”,&H);

    (H == 1)/ *类型H = 1是一个普通的分支* /

    {

    fscanf(FP1,“%D%D%F%F%F \ N”,植绿[I] P1,植绿[I] P2,&植绿[I],R&植绿[I],&植绿[I]);

    植绿[I]。 KT = 1;,

    植绿[I]。 = 1;

    }

    (H == 2)/ * H型= 2是变压器支路* /

    {

    fscanf(FP1,“%D, %%F,%F,%D,F \ N“,植绿[I]。P1,植绿[I]。P2,植绿[I],R&植绿[I],X,&植绿I]。克拉);,

    植绿[I]。 S = 2;

    }

    (H == 3)/ * H型= 3接地分支* /

    {

    fscanf(FP1,“%D,% D,%F,%F,%F \ N“,植绿[I]。P1,植绿[I]。P2,植绿[I],R&植绿[I],X,&植绿[ ,B);

    植绿[I]。 KT = 1;,

    植绿[I]。 S = 3;

    DD + +;

    }

    }

    / ******************* ************读取互联网信息*********************************** / **

    (qy! = 0)

    (I = 1; <= QY; + +)/ *输入互联网状态* /

    {

    fscanf(FP1,“%D,%D,%F,%F,为%d”,&hulianwang [i]于民,&hulianwang的[I]光伏hulianwang [I],P&hulianwang [I] 。EPS2,hulianwang的[I]计数);

    (J = 1; <= hulianwang [I]。计数; J + +)

    fscanf(FP1,“%D”, (hulianwang [I]一个[J]));

    }

    FCLOSE(FP1);

    / ********* *打开输出文件********************************************* *********** /

    FP2 =打开(“out.txt的”,“W”);

    (FP2 == NULL)

    {
    >的printf(“无法打开文件!\ N”);

    出口(0);

    }

    fprintf(FP2,“\ N ****原始如下************************************************ *********** \ n \ n已“);

    fprintf(FP2,”节点:%2D科数:%2D正确的地支的:%2D PQ节点编号:%2D PV节点:%2D精度1%F \ N“,N,M,DD,PQ,PV,EPS);

    fprintf(FP2,”\ N ---------- -------------------------------------------------- ----------------- \ N \ N“);

    (1 <= PQ + +)

    fprintf(FP2 ,“%2D PQ节点节点P [%d〕=%F Q [%] =%F \”,我,我,jiedian [I],P,I,jiedian []。Q); p>就(i = PQ +1 <= PQ + PV + +)

    fprintf(FP2,“节点%2D PV节点P [%] =%F V [% e] =%f \ N“,我,我,jiedian [I],P,I,jiedian [I],V);

    fprintf(FP2,”节点%2D平衡节点\ N“,我)

    fprintf(FP2,“,\ N -------------------------------------- ----------------------------------------- \ N \ N“); />(I = 1; <= M; + +)

    {

    如果(植绿[I]。== 1)

    fprintf(FP2,“支部%2D :普通分支相关节点:%2D,2D R%=%F X =%F B =%F \“,我,植绿[I] P1,植绿[I]。P2,植绿[I],R植绿[I],植绿[I]);

    其他(植绿[I]。== 2)

    fprintf(FP2,“分支%2D:变压器分会相关节点: %2D,2D R%=%F X =%f KT =%F \“,我植绿[I] P1,植绿[I]。P2,植绿[I],R,植绿[I],X植绿[I]。克拉);

    其他

    fprintf(FP2,“支部%2D:相关节点树枝在地上:%2D=%F X =%F B =%F \ “,我植绿[I]。P1,植绿[I],R,植绿[I],植绿[] b)条;

    }

    (I = 1 <= QY; + +)

    {

    fprintf(FP2,“Internet区域中:%2D指定PV节点:%2D有效:%8.5F允许误差:包括节点%8.5F :“,hulianwang [I]数,hulianwang [I]。光伏,hulianwang [I],P,hulianwang []。EPS2);

    (J = 1; <= hulianwang [I]。计数; J + +)

    fprintf(FP2,“2D”,hulianwang [I]一个[J]); fprintf(FP2,“\ N”);

    } }

    无效油花()/ *使用节点,分支机构的,形成一个新的号* / {

    INT I,K,J,JD [N / * JD [N] [记录]节点* / struct jiedian的温度; / *中间临时支部连接的节点数量* /

    (I = 1; <= N + +)/ *分支的节点上连接数赋0 * /

    {

    JD [0] = 0; }

    (我= 1 <=我+ +)/ *考虑每个节点* /

    {

    (J = 1,J <= M,J + +)/ *考虑每个分支* /

    {

    ((植绿[J]。P1 = | |植绿[J]。P2 ==)&&(植绿[J]。!= 3))/ *如果这个分支的节点,不接地分支* /

    JD [0] + +;

    }

    }

    (I = 1
    {

    (J = i +1的J <= PQ研究+ +)/ *升序排序算法* /

    {

    (JD [I]> JD [J])

    {

    TEM = jiedian [I];

    jiedian [I] = jiedian [J];

    jiedian [J] = TEM

    (K = 1; K <= M,K + +)/ *更新分支信息* /

    {

    (植绿[K]。P1 == J)

    植绿[K]。 P1 = I 否则,如果(植绿[K]。P2 == J)

    植绿[K]。 P2 = I;

    其他(植绿[K]。P1 ==我)

    植绿[K]。 P1 = J;

    否则,如果(植绿[K]。P2 ==)

    植绿[K]。 P2 = J;

    }

    }

    }

    }

    就(i = PQ +1;
    {

    (J = i +1的; J <= PQ + PV; J + +)/ *小大排序算法* /

    {

    如果(JD [我]> JD [J])

    {

    温度= jiedian [我];

    jiedian [I] = jiedian [J];

    jiedian [J] = TEM

    (K = 1; K <= M,K + +)/ *更新分支信息* /
    > {

    (植绿[K]。P1 == J)

    植绿[K]。 P1 = I;

    否则,如果(植绿[K]。P2 == J)

    植绿[K]。 P2 = I;

    其他(植绿[K]。P1 ==我)

    植绿[K]。 P1 = J;

    否则,如果(植绿[K]。P2 ==)

    植绿[K]。 P2 = J;

    }

    }

    }

    }

    fprintf(FP2,“\ N ****节点优化结果如下*********************************************** ********** \ n \ n已“);

    (I = 1; <=我+ +)

    {

    (jiedian [I]。== 1)

    fprintf(FP2,“%2D PQ节点,节点P [%d〕=%F Q [%] =%F \”,我,我,jiedian [I],P,I,jiedian [I]。Q);

    如果(jiedian [I]。== 2)

    fprintf(FP2,“节点%2D PV节点P [%d的=%F V [%d〕=%F \“,我,我,jiedian [I],P,我jiedian [I],V);

    (jiedian [I]。= = 3)

    fprintf(FP2,“%2D平衡节点的节点\ N”);

    }

    }

    的无效form_y()/ *使用分支形成Y,要注意地面腿* /

    {

    I,J,K;

    float类型的

    (I = 1 <= N;我+ +)

    (J = 1; <= N,J + +)

    G [我] [J] = B [I] [J] = 0;

    (1 <= M; + +)/ *节点导纳矩阵主对角线准入* /

    (J = 1; <= N; J + +)

    (植绿[I] P1 ==| |植绿[I]。P2 == J)

    {

    S =植绿[I]。 R *植绿[I]。 R +植绿[I]。 X *植绿[I]。 X;

    (S == 0);

    G [J] [J] + =植绿[I]。 R / S;

    B [J] [J] + =植绿[我]。 X / S;

    (植绿[I]。== 1)/ *如果是普通的分支* / B [J] [J] + =植绿[I]。 B / 2;

    }

    其他(植绿[I]。== 2)/ *如果是普通变压器支路* /

    {

    (植绿[ P1 == J)

    {

    G [J] [J] + =(植绿[I],R / S *(1-植绿[]克拉))/(植绿我克拉*植绿[I]克拉);

    B [J] [J] + =(-植绿[I] X / S *(1-植绿[]。克拉))/(植绿[I] KT *植绿[I]克拉);

    }

    其他(植绿[I] P2 == j)条

    {

    [J] [J] + =(植绿[I],R / S(植绿[I]千吨-1))/植绿[I]。克拉;

    B [J] [J] + =(-植绿[I],X / S *(植绿[I] KT-1))/植绿[I]。克拉;

    }

    }

    其他(植绿[I]。== 3)/ *如果是在地面上分支* /

    {

    乙[J] [J] + =植绿[I]。 b;

    }

    }

    (K = 1; K <= M,K + +)/ *节点导纳矩阵非准入的主对角线上* /

    {

    =植绿[K]。 P1;

    =植绿[K]。 P2;

    S =植绿[K]。 R *植绿[K]。 R +植绿[K]。 X *植绿[K]。 X;

    (S == 0);

    G [我] [J] + =植绿[K]。 R / S;

    B [我] [J] + =植绿[K]。 X / S;

    (植绿[K]。克拉= 1.0)

    {

    G [我] [J] / =植绿[K]。克拉;

    B [我] [J] / =植绿[K]。克拉;

    }

    G [J] [I] = G [I] [J];

    B [J] [] = B [I] [J];
    >}

    fprintf(FP2,“\ N \ N ******************************节点导纳矩阵********************************** \ N“);

    (I = 1 <= N;我+ +)

    {

    fprintf(FP2,“\”);

    (J = 1; <= N研究+) BR /> fprintf(FP2,“%+ J%8.5F 8.5F,G [I] [J],B [I] [J]);

    }

    }

    BR />无效form_j,()/ *使用节点和Y形式的J * /

    {

    浮法EI,FI,A = 0,B = 0;

    I1,J1,K1,I,J,K;

    (I = 1; <= 2 *(PQ + PV)+1; + +)

    (J = 1; J <= 2 *(PQ + PV)+1; J + +)

    YKB [I] [J] = 0;

    (I = 1; < = PQ + +)

    (J = 1; J <; J + +)

    {I1 =;

    J1 = J;

    EI = jiedian I]。 E;

    Fi = jiedian的[I]。 F;

    (i! = J)/ *找我! = j的H,N,J,L * /

    {YKB *-1 [2] [2 * J-1] = G [期1] [J1] * EI + B [期1] [J1] * FI / * H * /

    YKB [2 *的i-1] [2 * J] = B [I1] [J1] * EI + G [I1] [J1] * FI / * N * /

    YKB [2] [2 * J-1] = B [I1]?[J1] * EI + G [I1] [J1] * FI / * J * / YKB [2] [2 * J] =-G [I1] [J1] * EI-B [I1] [J1] * FI / * L * /

    }

    BR /> / *其他寻求当我= J H,N,J,K * /

    {A = 0,B = 0;

    (K = 1; K <= N,K + +)

    (k! = I)

    {K1 = K;

    = A + G [I1] [K1] * jiedian [K]。 EB [I1] [K1] * jiedian [K]。 F;

    B = B + G [I1] [K1] * jiedian [K]。 F + B [期1] [K1] * jiedian [●]。 E;

    }

    YKB [2 *的i-1] [2 * J-1] = 2 * G [I1] [I1] * jiedian [I]。 E + A / * H * /

    YKB [2] [2 * J] = -2 * B [I1] [I1] * jiedian [I]。 F +一个; / * L * /

    YKB [2 *的i-1] [2 * j]的= 2 * G [期1] [1期1] * jiedian []。 F + B; / * N * /

    YKB [2] [2 * J-1] = -2 * B [I1] [I1] * jiedian [I]。 EB / * J * /

    } }

    就(i = PQ +1; <= PQ + PV; + +)/ *子矩阵形成光伏节点* /

    (十= 1; J <; J + +)

    {I1 =;

    J1 = J;

    EI = jiedian [我]。 E;

    Fi = jiedian的[I]。 F;

    (i! = J)/ *找我! =当H,N * /

    {

    YKB [2 *的i-1] [2 * J-1] = G [期1] [J1] * EI + B [期1] [J1] * FI / * H * /

    YKB [2 *的i-1] [2 * J] = B [I1] [J1] * EI + G [I1] [J1] * FI / * N * /

    }

    其他/ *求时,我= J H,N,R,S * /

    {A = 0,B = 0;

    (K = 1,K <= N,K +)

    (k! = I)

    {K1 = K;

    + = G [I1] [K1] * jiedian [K]。 EB [I1] [K1] * jiedian [K]。 F;

    B + = G [I1] [K1] * jiedian [K]。 F + B [期1] [K1] * jiedian [●]。 E;

    }

    YKB [2 *的i-1] [2 * J-1] = 2 * G [I1] [I1] * jiedian [I]。 E + A / * H * /

    YKB [2 *的i-1] [2] = 2 * G [I1] [I1] * jiedian [I]。 F + B; / * N * /

    YKB [2] [2 * J-1] = 2 * EI / * R * /

    YKB [2] [2 * J ] = 2 * FI / * S * /

    }

    }

    fprintf(FP2,“\ N \ N \ N ********** *********************雅可比************** *********** \ N“);

    (I = 1; <= 2 *(PQ + PV); + +) {

    fprintf(FP2,“\”);

    (J = 1; <= 2 *(PQ + PV); J + +)

    fprintf(FP2,“%8.5 F“,YKB [I] [J]);

    }

    }

    无效form_yz()/ *使用的J的外形表* / { BR /> INT I,J,K,

    浮法A [2 * M] [2 * M],L [2 * M] [2 * M],R [2 * M] [2 * M]。

    浮法X,Y,Z;

    (I = 1; <= 2 *(PQ + PV); + +)

    (J = 1;研究<= 2 *(PQ + PV); J + +)

    {[I] [J] = 0,R [I] [J] = 0,L [I] [J] = 0 ;}

    (I = 1; <= 2 *(PQ + PV); + +)

    (J = 1; <= 2 *(PQ + PV); J + +) A [I] [J] = YKB [I] [J];

    (I = 1; <= 2 *(PQ + PV)+ + )

    {

    (J = 1; <= 2 *(PQ + PV),J + +)

    {

    如果(> J)

    {

    R [我] [J] = 0;

    X = 0;

    (K = 1; K <= J-1,K +)

    { BR /> X = X + L [I] [K] * R [K] [J];

    }

    L [我] [J] = A [I] [J] X;

    }

    (I == J)

    {

    R [我] [J] = 1;

    Y = 0;

    (K = 1; K <= I-1,K +)

    {

    Y = Y + L [我] [K] * R [K] [I];

    } L [I] [I] = [I] [J];

    }

    (I
    {

    L [我] [J ] = 0;

    Z = 0;

    (K = 1; K <= I-1,K +)

    Z = Z + L [我] [K] * R [K] [J]; }

    R [我] [J] =([I] [J] Z)/ L [] []; BR />}

    }

    }

    (I = 1; <= 2 *(PQ + PV); + +)

    {(J = 1; <= 2 *(PQ + PV); J + +)

    {

    (I
    饮子[I] [J] = R [我] [J];

    (I == J)

    饮子[I] [J] = 1 / L [I] [J];

    (> j的)

    饮子[我] [J] = L [I] [J];

    }

    }

    fprintf(FP2,“\ N \ N \ N ********************************因子表**************** ************************* \ N“);

    (I = 1; <= 2 *( PQ + PV); + +){

    fprintf(FP2,“\”);

    (J = 1; <= 2 *(PQ + PV); + +)

    fprintf(FP2,“%8.5F”,银子岩[I] [J]);

    }

    }

    浏览 153赞 66时间 2021-12-03

电力系统分析潮流计算问题 内附详细题目