Untitled

Anonymous
plain_text
02/13/2026 6:16 AM
2.9 KB
10
Indexable
function [Ybus, Yred] = ybus_kron(lineData, nBus, elimBus)
% YBUS_KRON  Forms Y-bus matrix and performs Kron reduction
%
% Inputs:
%   lineData : [From To R X B/2] (p.u.)
%   nBus     : Total number of buses
%   elimBus  : Bus number to be eliminated
%
% Outputs:
%   Ybus     : Full Y-bus matrix
%   Yred     : Reduced Y-bus matrix

Ybus = zeros(nBus,nBus);
nLine = size(lineData,1);

%% Y-bus formation using loop
for k = 1:nLine
    i = lineData(k,1);
        j = lineData(k,2);
            Z = lineData(k,3) + 1j*lineData(k,4);
                y = 1/Z;
                    B = 1j*lineData(k,5);

                        Ybus(i,i) = Ybus(i,i) + y + B;
                            Ybus(j,j) = Ybus(j,j) + y + B;
                                Ybus(i,j) = Ybus(i,j) - y;
                                    Ybus(j,i) = Ybus(j,i) - y;
                                    end

                                    %% Kron reduction
                                    keepBus = setdiff(1:nBus, elimBus);

                                    Yaa = Ybus(keepBus, keepBus);
                                    Yab = Ybus(keepBus, elimBus);
                                    Yba = Ybus(elimBus, keepBus);
                                    Ybb = Ybus(elimBus, elimBus);

                                    Yred = Yaa - Yab*(1/Ybb)*Yba;

                                    eliminated
                                    clc;
                                    clear;

                                    lineData = [
                                            1  2  0.02  0.06  0.03/2
                                                1  3  0.08  0.024 0.025/2
                                                    2  3  0.06  0.018 0.02/2
                                    ];

                                    nBus = 3;
                                    elimBus = 3;

                                    [Ybus, Yred] = ybus_kron(lineData, nBus, elimBus);

                                    disp('Y-bus matrix (p.u.):');
                                    disp(Ybus);

                                    disp('Reduced Y-bus matrix:');
                                    disp(Yred);
                                    ]
Editor is loading...
Leave a Comment