Cálculo de potencia del generador

borrar% Borrar
formato de variables de memoria long
jc = 0;
% -------------------------- Módulo de datos brutos de nodo -------- ------------------------%
JieDianShuJu = [1 1.0600 0.0000 0.0000 0.0000 0.0000 0.0000;
              2 1.0450 0.0000 0.4000 0.4000 0.2170 0.1270;
              3 1.0100 0.0000 0.0000 0.2000 0.9420 0,1900;
              4 1,0000 0,0000 0,0000 0,0000 0,4780 -0,0390;
              5 1,0000 0,0000 0,0000 0,0000 0,0760 0,0160;
              6 1,0700 0,0000 0,0000 0,3000 0,1120 0,0750;
              7 1,0000 0,0000 0,0000 0,0000 0,0000 0,0000;
              8 1,0900 0,0000 0,0000 0,3000 0,0000 0,0000;
              9 1,0000 0,0000 0,0000 0,0000 0,2950 0,16 ;
              10 1,0000 0,0000 0,0000 0,0000 0,0900 0,0580;
              11 1,0000 0,0000 0,0000 0,0000 0,0350 0,0180;
              12 1,0000 0,0000 0,0000 0,0000 0,0610 0,0160;
              13 1,0000 0,0000 0,0000 0,0000 0,1350 0,0580;
              14 1,0000 0,0000 0,0000 0,0000 0,1490 0,0500);% de datos de nodo de entrada
JieDianZongShuian = tamaño (JieDianZongShuian = tamaño , 1);% Número total de nodos
PVJieDianShu = 4;%
Número de nodos PV PQJieDianShu = JieDianZongShu-PVJieDianShu-1;% PQ número de nodos
PVI = [0 1 1 0 0 1 0 1 0 0 0 0 0 0]; % indica un nodo La matriz de si es un nodo PV
PQI = [0 0 0 1 1 0 1 0 1 1 1 1 1 1];% Una matriz que indica si un nodo es un nodo PQ
PVR = [1 2 3 6 8];% número de nodo de holgura y PV Número de nodo
PV = [2 3 6 8];% PV número de nodo
PQ = [4 5 7 9 10 11 12 13 14];% PQ número de nodo
SC = [1 2 5 7]; Requerido en% N, L, M Filas y columnas eliminadas
U = JieDianShuJu (:, 2);% valor efectivo de voltaje
Theta = JieDianShuJu (:, 3);% tensión fase
PG = JieDianShuJu (:, 4);% potencia activa del generador
QG = JieDianShuJu (:, 5);% potencia reactiva del generador
PL = JieDianShuJu (:, 6);% carga activa
QL = JieDianShuJu (:, 7);% de potencia reactiva de carga
DetP = ceros (JieDianZongShu, 1);% vector de error de potencia activa del nodo
DetQ = ceros (JieDianZongShu, 1);%
sumidero de vector de error de potencia reactiva del nodo = 0;% variable temporal
sumq = 0;% variable temporal
DetTheta = 0;% variable temporal
% ========================= Módulo de datos originales del nodo === === ==========================%
%
% ------------------ --- ----- Defina la matriz jacobiana y el vector de corrección ---------------------------%
XiuZhengXiangLiang = ceros (JieDianZongShu + PQJieDianShu -1 , 1);% define el vector de corrección
ThetaXiuZheng = XiuZhengXiangLiang (1: JieDianZongShu-1);% define el vector de corrección de argumento
UXiuZheng = XiuZhengXiangLiang (JieDianZongShu: end);% define el vector de corrección de voltaje
J = ceros (JieDian-2 );% define la matriz jacobiana
H = ceros (JieDianZongShu-1);% inicializa la matriz H
N = ceros (JieDianZongShu-1);% inicializa la matriz N
L = ceros (JieDianZongShu-1);% inicializa la matriz L
M = ceros (JieDianZongShu-1);% inicializa Matriz M
H1 = H; N1 = N; M1 = M; L1 = L;
% ========================== definir la suma de la matriz jacobiana corrección vectores ===========================%
%
% ------------------ -------- Módulo de datos brutos de rama --------------------------------%
ZhiLuShuJu = [- 1 4 7 0,00000 0,20912 0,00000 0,978;
            -2 4 9 0,00000 0,55678 0,00000 0,969;
            -3 5 6 0,00000 0,25202 0,00000 0,932;
             0 0 9 0,00000 0,00000 0,01900 0,000
             1 1 2 0,01938 0,05917 0,02640 0,000;
             2 2 3 0,04699 0,19797 0,02190 0,000;
             3 2 4 0,05811 0,17632 0,01870 0,000;
             4 1 5 0,05403 0,22304 0,02460 0,000;
             5 2 5 0,05695 0,17388 0,01700 0,000;
             6 3 4 0,06701 0,17103 0,01730 0,000;
             7 4 5 0,01335 0,04211 0,00640 0,000;
             8 7 8 0,00000 0,17615 0,00000 0,000;
             9 7 9 0,00000 0,11001 0,00000 0,000;
            10 9 10 0,03181 0,08450 0,00000 0,000;
            11 6 11 0,09498 0,19890 0,00000 0,000;
            12 6 12 0,12291 0,15581 0,00000 0,000;
            13 6 13 0,06615 0,13027 0,00000 0,000;
            14 9 14 0,12711 0,27038 0,00000 0,000;
            15 10 11 0,08205 0,19207 0,00000 0,000;
            16 12 13 0,22092 0,19988 0,00000 0,000;
            17 13 14 0.17093 0.34802 0.00000 0.000];% de datos originales de rama de entrada
ZhiLuShu = tamaño (ZhiLuShuJu, 1);% número total de rama
% ===================== = ==== módulo de datos en bruto rama ================================%
%
% ----- - ------------------- Módulo de parámetros de isoadmitancia ----------------------- --- ------%
DengZhiDaoNaCanShu = ceros (ZhiLuShu, 3);
para k = 1: ZhiLuShu
    si ZhiLuShuJu (k, 1) <0% La etiqueta de la rama es negativa, es decir, la rama del transformador
        DengZhiDaoNaCanShu (k, 1) = 1 / (ZhiLuShuJu (k, 7) * j * ZhiLuShuJu (k, 5));
        DengZhiDaoNaCanShu (k, 2) = DengZhiDaoNaCanShu (k, 1) * (ZhiLuShuJu (k, 7) -1);
        DengZhiShu (k, 7) -1); DengZhiShu, 3) = - DengZhiDaoNaCanShu (k, 2) / ZhiLuShuJu (k, 7);
    elseif ZhiLuShuJu (k, 1)> 0% La etiqueta de la rama es positiva, es decir, la rama de la línea de transmisión
        DengZhiDaoNaCanShu (k, 1) = 1 / (ZhiLuShuJu (k, 4) + j * ZhiLuShuJu (k, 5));
        DengZhiDaoNaCanShu (k, 2) = j * ZhiLuShuJu (k, 6);
        DengZhiDaoNaCanShu (k, 3) = j * ZhiLuShuJu (k, 6);
    else% Rama paralela
        DengZhiDaoNaCanShu (khi, 3) = 6 j * ZhiLuShuJu );
    end
end
% =========================================== ================================================ ================================================ ================================================ ================================================ ============================================== == ==================%
%
% -------------------------- nodo Self- módulo de cálculo de admitancia ------------------------------%
JieDianZiDaoNa = ceros (JieDianZongShu, 1);% define la auto-guía del nodo El nano matriz
para k = 1: JieDianZongShu
    para l = 1: ZhiLuShu
        si ZhiLuShuJu (l, 2) == k% k es el primer nodo de la rama
            JieDianZiDaoNa (k) = JieDianZiDaoNa (k) + DengZhiDaoNaCanShu (l, 1) DengZhiDaoNaCanShu (l, 1) l, 2);
        elseif ZhiLuShuJu (l, 3) == k% k es el nodo final de la rama
            JieDianZiDaoNa (k) = JieDianZiDaoNa (k) + DengZhiDaoNaCanShu (l, 1) + DengZhiDaoNaCanShu (l, 3);
        end
    end
end
% ======================= = === de módulo de cálculo admitancia nodo ===============================%
%
% ------ - ------------------ Módulo de cálculo de admisión mutua de nodo ------------------------ --- ---%
JieDianHuDaoNa = ceros (JieDianZongShu);% inicializa la matriz de admisión mutua de nodos
para k = 1: ZhiLuShu
    si ZhiLuShuJu (k, 1) == 0;
        continúa;
    finaliza
    JieDianHuDaoNa (ZhiLuShuJu (k, 2), ZhiLu , 3)) = - DengZhiDaoNaCanShu (k, 1);
    JieDianHuDaoNa (ZhiLuShuJu (k, 3), ZhiLuShuJu (k, 2)) = - DengZhiDaoNaCanShu (k, 1);
end
% ======= === ================= Módulo de cálculo de admisión mutua de nodo ============================ ================================================ ================================================ ================================================ ================================================ =========================================== ===== =
%%
% -------------------------- Matriz de admitancia de nodo sintético ------------------ - -------------%
Y = JieDianHuDaoNa;
para k = 1: JieDianZongShu
    Y (k, k) = JieDianZiDaoNa (k);
final
G = real (Y);% Genera matriz de conductancia de nodo
B = imag (Y);% Generar matriz de admisión de nodo
% ======================== matriz de admisión de nodo sintético ===== ===== =======================%
%
% ------------------- ----- --Generar matriz de adyacencia de nodos ---------------------------------%
LinJieZhen = ceros (JieDianZongShu);
para k = 1: ZhiLuShu
    si ZhiLuShuJu (k, 1) == 0;
        continuar;
    finalizar
    LinJieZhen (ZhiLuShuJu (k, 2), ZhiLuShuJu (k, 3)) = 1;
    LinJieZhen (ZhiLuShuJu (k, 3), ZhiLuShuJu (k, 2) )) = 1;
final
para k = 1: JieDianZongShu
    LinJieZhen (k, k) = 1;
final
% ========================= Generar matriz de adyacencia de nodos =================== = =============%
%
% --------------------------------- - --Lazo de iteración de Newton ---------------------------------------%
para DieDaiCiShu = 1: 10
    % ------------------------------ Módulo de cálculo de error de potencia ------------- - -----------%
    para k = 2: JieDianZongShu
        sumidero = 0;
        sumq = 0;
        para l = 1: JieDianZongShu
            DetTheta = Theta (k) -Theta (l);
            sumidero = sumidero + LinJieZhen ( k, l) * U (l) * (G (k, l) * cos (DetTheta) + B (k, l) * sin (DetTheta));
            sumq = sumq + LinJieZhen (k, l) * U (l ) * (G (k, l) * sin (DetTheta) -B (k, l) * cos (DetTheta));         sumidero
        final
= sumidero * U (k);
        sumq = sumq * U (k);
        DetP (k ) = PG (k) -PL (k) -sump;
        DetQ (k) = QG (k) -QL (k) -sumq;
    end
    YouGongWuCha = DetP;
    WuGongWuCha = DetQ;
    YouGongWuCha (1) = [];
    WuGongWuCha (PVR,:) = [];
    % ===== ========================= Módulo de cálculo de error de energía ===================== ====%
    %
    % ------------------------------ --------- iteración del bucle condición de terminación ————%
    if max (abs (YouGongWuCha)) <= 1e-20 & max (abs (WuGongWuCha)) <= 1e-20
        jc = 1;
        break;
    end
    % =========== == ================ condición de terminación de iteración de bucle ==========================%
    %
    % - ---------------------------- Módulo de cálculo jacobiano ----------------- --------%
    para k = 2: JieDianZongShu
        para l = 2: JieDianZongShu
            DetTheta = Theta (k) -Theta (l);
            H (k-1, l-1) = - U (k) * U (l) * (G (k, l) * sin (DetTheta) -B (k , l) * cos (DetTheta));
            N (k-1, l-1) = - U (k) * U (l) * (G (k, l) * cos (DetTheta) + B (k, l ) * sin (DetTheta));
        fin
    fin
    L = H;
    M = -N;
    para k = 2: JieDianZongShu
        H (k-1, k-1) = U (k) * U (k) * B (k, k) + (QG (k) -QL (k));
        N (k-1, k-1) = - U (k) * U (k) * G (k, k) - (PG (k) - PL (k));
        M (k-1, k-1) = U (k) * U (k) * G (k, k) - (PG (k) -PL (k));
        L (k- 1, k-1) = U (k) * U (k) * B (k, k) - (QG (k) -QL (k));
    final
    H1 = H; N1 = N; M1 = M; L1 = L;
    N1 (:, SC) = [];% borra la columna correspondiente al nodo PV
    M1 (SC,:) = [];% borra la fila correspondiente al nodo PV
    L1 (:, SC) = [] ;% Elimina la columna correspondiente al nodo PV
    L1 (SC,:) = [];% elimina la fila correspondiente al nodo PV
    J = [H1, N1; M1, L1];% de matriz jacobiana sintética
    % ============================ Módulo de cálculo de matriz jacobiana = =========================%
    %
    % ------------------- --- ------- Solución de datos modificados y módulo de actualización de datos -----------------%
    XiuZhengXiangLiang = -inv (J) * [YouGongWuCha; WuGongWuCha];
    ThetaXiuZheng = XiuZhengXiangLiang ( 1: JieDianZongShu-1);
    UXiuZheng = XiuZhengXiangLiang (JieDianZongShu: fin);
    Theta (2: fin) = Theta (2: fin) + ThetaXiuZheng;
    U (PQ, :) = U (PQ, :) + U (PQ, :). * UXiuZheng;
    % ============================ Módulo de actualización de datos y solución de datos modificados ==== ==== =========%
end
% ================================= Bucle iterativo de Newton == =================================%
JiaoDu = Theta / pi * 180;
wc1 = max (abs (YouGongWuCha) );
wc2 = max (abs (WuGongWuCha));
wc = max (WC1, WC2)
%
módulo de cálculo de% de potencia -------------------------- Generador --------- - ---------------------%
sumidero = 0;
sumq = 0;
para k = 1: JieDianZongShu
    DetTheta = Theta (1) -Theta (k);
    sumidero = sumidero + LinJieZhen (1, k) * U (k) * (G (1, k) * cos (DetTheta) + B (1, k) * sin (DetTheta));
    sumq = sumq + LinJieZhen (1, k) * U (k) * (G (1, k) * sin (DetTheta) -B (1, k) * cos (DetTheta)); sumidero
final
= sumidero * U (1);
sumq = sumq * U (1) ;
PG (1) = PL (1) + sumidero;% balance de
sumidero de potencia activa del generador de nodo
QG (1) = QL (1) + sumq;% balance de potencia reactiva del generador de nodo
para k = 1: PVJieDianShu% PV Potencia reactiva del generador de nodo
        sumq = 0;
        para l = 1: JieDianZongShu
            DetTheta = Theta (PV (k)) - Theta (l);
            sumq = sumq + LinJieZhen (PV (k), l) * U (l) * (G (PV (k), l) * sin (DetTheta) -B (PV (k), l) * cos (DetTheta)) ;
        end
        sumq = sumq * U (PV (k));
        QG (PV (k)) = QL (PV (k)) + sumq;
fin
[JieDianShuJu (:, 1) U JiaoDu PG QG]


    
    
    
    
    
    

Supongo que te gusta

Origin blog.csdn.net/ccsss22/article/details/113823098
Recomendado
Clasificación