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