How to solve index bounds problem

1 view (last 30 days)
Hi
I am just a beginner in MATLAB,Now I am trying to do a code but getting error. i am copying the code,
function [p1]=element1()
L=input('Length of pipe =');
C=input('speed of sound=');
d=input('Pipe diameter=');
M=input('Mach number=');
S=pi*(d/2)^2;
frequency=0:6:6486;
K=2*pi*frequency/C;
Kc=K/(1-M^2);
Y=C/S;
KcL=Kc*L;
KcML=Kc*(L*M);
p1=zeros(2,2164);
n=1;
for i=0:1:1082
p1(:,(2*n-1):(2*n))=exp(-i*KcML(n)).*[cos(KcL(n)),i*Y*sin(KcL(n));i*sin(KcL(n))/Y,cos(KcL(n))];
n=n+1;
end
The error message is
??? Attempted to access KcML(1083); index out of bounds because
numel(KcML)=1082.
Error in ==> element1 at 27
p1(:,(2*n-1):(2*n))=exp(-i*KcML(n)).*[cos(KcL(n)),i*Y*sin(KcL(n));i*s
Thanks Advancely

Accepted Answer

Walter Roberson
Walter Roberson on 12 Mar 2013
n is 1 when i is 0. n is 2 when i is 1. n is 3 when i is 2. So when i is 1082 what is n going to be?
  2 Comments
Das Bably
Das Bably on 12 Mar 2013
If I use n=i+1 then i am getting ans of 2x2164 is it ok? I am confused,

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!