% Program to build the bus admittance
function[Y] = PSMv1(zdata)linefrom = zdata(:,1); lineto = zdata(:,2); Rpu = zdata(:,3); Xpu = zdata(:,4);nbr = length(zdata(:,1)); nbus = max(max(linefrom), max(lineto));Z = Rpu + 1i*Xpu; % Branch impedance
y = ones(nbr,1)./Z; % Branch admittance
Y = zeros(nbus,nbus); % Initialize Y to zero
for k = 1:nbr; % Formation of the off-diagonal elements
if linefrom(k) > 0 && lineto(k) >0 Y(linefrom(k),lineto(k)) = Y(linefrom(k),lineto(k)) - y(k); Y(lineto(k),linefrom(k)) = Y(linefrom(k),lineto(k)); end endfor n = 1:nbus; % Formation of the diagonal elements
for k = 1:nbr if linefrom(k) == n || lineto(k) == n Y(n,n) = Y(n,n) + y(k); else end end end% Example 6.1 Hadi Saadat
% From To R X
zdata = [0 1 0 1.0 0 2 0 0.8 1 2 0 0.4 1 3 0 0.2 2 3 0 0.2 3 4 0 0.08];Y = ybus(zdata); % Bus admittance matrix
Ibus = [-1i*1.1; -1i*1.25; 0; 0]; % Vector of bus currents
Vbus = Y\Ibus;
MATLAB: Not Enough Input Argument. .
not enough input argument
Best Answer