How to write code for moments?

1 view (last 30 days)
Sachin
Sachin on 20 Mar 2013
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

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!