Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Why can't Matlab calculate a(0)

Asked by Michael Bernard on 4 Feb 2013

Hi everyone, its not serious problem at all. But I just want to know. Why cant Matlab calculate a(0) in a for loop.

Example: n=3;L=4;

>> ai=[2 4 6 8];
for m=0:n
an(m)=-ai(L-m)/ai(1)
end

Matlab will give an error message that says

"Attempted to access (0); index must be a positive integer or
logical."

My question is why?? I get results if I use

for m=1:n
an(m)=-ai(L-m)/ai(1)
end

because a(1) , a(2) etc can be found in matlab. so why not a(0)???

0 Comments

Michael Bernard

Tags

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek on 4 Feb 2013
Edited by Azzi Abdelmalek on 4 Feb 2013
Accepted answer

It's just how Matlab works, allows only positive integer or logical index. You can resolve the problem, for example

for k=0:10
 y(k+1)=sin(k)
end

1 Comment

Michael Bernard on 4 Feb 2013

Thanks a lot Azzi Abdelmalek .Its well understood

Azzi Abdelmalek
Answer by Walter Roberson on 4 Feb 2013

You need to distinguish between array notation and function notation.

Array notation requires that the arguments describe integer array locations. Array locations in MATLAB are numbered starting from 1, as is the case for Fortran and a number of other computer languages (but not all -- e.g., C numbers starting from 0.)

function notation is what is used when you say things like

f(1.37) = 8.2

or

an(0) = 4

That notation is completely valid in mathematics, but it has no equivalent in MATLAB, except inside MuPAD (the symbolic toolbox).

0 Comments

Walter Roberson

Contact us