MATLAB Answers

0

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

Asked by mukul anand on 27 Aug 2019
Latest activity Commented on by mukul anand on 27 Aug 2019
Accepted Answer by Jan
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...

  1 Comment

Avoid "asap", because it is impolite to puish voluntary helpers.

Sign in to comment.

1 Answer

Answer by Jan
on 27 Aug 2019
Edited by Jan
on 27 Aug 2019
 Accepted Answer

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.

  1 Comment

Thanks after removing b expression it is working.

Sign in to comment.