Index in position 1 exceeds array bounds (must not exceed 1).

4 次查看(过去 30 天)
clear all;
clc;
YBUS
IP_DATA
e=busdata(:,3);
f= 0;
V=e+1i*f;
g=abs(ybus);
b=0;
y=g+1i*b;
J1=zeros(1,n);
for i=2:nbus
for k=2:nbus
if i==k
J1(i,i)=2*e(i)*g(i,i)+g(i,k)*e(k)-b(i,k)*f(k);
else
J1(i,k)= (e(i)*g(k,i))-(f(i)*b(i,k));
end
end
end
J1;
In J1 (i,k) eroor is coming...Please help asap...

采纳的回答

Jan
Jan 2019-8-27
编辑:Jan 2019-8-27
We cannot know, what YBUS and IP_DATA is. It is your turn to check, if the error message concerns the variable e, g or f. Do this using the debugger. Type this in the command window:
dbstop if error
Run your code again. When Matlab stops at the error use size() to check the sizes of the potentially concerned variables.
My guess: After
b=0;
the expression b(i,k) does not work for i or k > 1.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time Series 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by