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
Geoff Hayes
Geoff Hayes on 29 Sep 2022
@Adegoke Williams - are you referring to the code from the File Exchange found here? Please clarify what you mean by "added the ybus.m in the command window" and show how you are "running the function". Also, please copy and paste the full error message to this post.
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
David Hill
David Hill on 29 Sep 2022
What is the problem, the below executes just fine.
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]
zdata = 6×4
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
y=Ybus(zdata)
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

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!