How to write code for moments?

How to write code for moments i.e 0th order(M00),1st order (M10,M01), i wrote it by using for loop
for i=0:1:1
for j=0:1:1
for k=1:1:row
for l=1:1:col
M(i,j)=M(i,j)+(k^i*l^j*I2(k,l));
end
end
end
end
but it gives error ??? Attempted to access M(0,0); index must be a positive integer or logical. is there any other way of writing code for Moments???

 Accepted Answer

the cyclist
the cyclist on 20 Mar 2013
Edited: the cyclist on 20 Mar 2013
MATLAB arrays are 1-based and not 0-based.
One solution is to just bump each index i and j by one for array storage purposes:
for i=0:1:1
for j=0:1:1
for k=1:1:row
for l=1:1:col
M(i+1,j+1)=M(i+1,j+1)+(k^i*l^j*I2(k,l));
end
end
end
end
Notice that my only change to your code was to replace M(i,j) with M(i+1,j+1).

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!