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

조회 수: 10(최근 30일)
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
Adegoke  Williams
Adegoke Williams 2022년 9월 29일
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

댓글을 달려면 로그인하십시오.

채택된 답변

David Hill
David Hill 2022년 9월 29일
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
Adegoke  Williams
Adegoke Williams 2022년 9월 29일
Thanks so so much . It works perfectly.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

태그

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by