i get this error "attempting to load ybus script as a function"

10 views (last 30 days)
i have added the ybus.m in the command window byt when i try to run the fuction it gives an error message "attempting to load script as a function"
  2 Comments
Adegoke  Williams
Adegoke Williams on 29 Sep 2022
Thanks Geoff, its Exactly that file, i actually trried so many files but got the sa error message. I used the addpath ybus on the command window to add the path to the directory. I tried to run the ybus(z) found in the Power Systems Analysis Textbook , Saadat . When i try to run the ybus(z) either on command window oR LiVESCRIPT, i get the error "Attempt to load ybus script as a function.
>> z = [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(z)
z =
0 1.0000 0 1.0000
0 2.0000 0 0.8000
1.0000 2.0000 0 0.4000
1.0000 3.0000 0 0.2000
2.0000 3.0000 0 0.2000
3.0000 4.0000 0 0.0800
Cannot find an exact (case-sensitive) match for 'ybus'
The closest match is: Ybus in C:\Program Files\Polyspace\R2020a\bin\ybus\Ybus.
Did you mean:
>> Y = Ybus(z)
Attempt to execute SCRIPT Ybus as a function:
C:\Program Files\Polyspace\R2020a\bin\ybus\Ybus.m

Sign in to comment.

Accepted Answer

David Hill
David Hill on 29 Sep 2022
Not sure what you are doing, but works fine for me.
z = [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(z)
y =
0.0000 - 8.5000i 0.0000 + 2.5000i 0.0000 + 5.0000i 0.0000 + 0.0000i 0.0000 + 2.5000i 0.0000 - 8.7500i 0.0000 + 5.0000i 0.0000 + 0.0000i 0.0000 + 5.0000i 0.0000 + 5.0000i 0.0000 -22.5000i 0.0000 +12.5000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 +12.5000i 0.0000 -12.5000i
function[Ybus] = Ybus(zdata)
nl=zdata(:,1); nr=zdata(:,2); R=zdata(:,3); X=zdata(:,4);
nbr=length(zdata(:,1)); nbus = max(max(nl), max(nr));
Z = R + j*X; %branch impedance
y= ones(nbr,1)./Z; %branch admittance
Ybus=zeros(nbus,nbus); % initialize Ybus to zero
for k = 1:nbr; % formation of the off diagonal elements
if nl(k) > 0 & nr(k) > 0
Ybus(nl(k),nr(k)) = Ybus(nl(k),nr(k)) - y(k);
Ybus(nr(k),nl(k)) = Ybus(nl(k),nr(k));
end
end
for n = 1:nbus % formation of the diagonal elements
for k = 1:nbr
if nl(k) == n | nr(k) == n
Ybus(n,n) = Ybus(n,n) + y(k);
else, end
end
end
end
  5 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!