MATLAB: Not Enough Input Argument. .

not enough input argument

% 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
end
for 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;

Best Answer

At the command line, you must type the command
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];
PSMv(zdata)
Question: what is ybus() ? And why do you re-calculate the value of "Y" ?
Related Question