Hi all!
I am having troubles to do the code for a summation. I tried with two different ways, initializating the variable and then with a loop and with the "sum" function,I'll show you below but I am terribly confused on how to get what I want.
So, I have this matrix, called Snmo, that has 3 dimensions (lets say (29x100x3)) so I picture it as having 3 pages with a matrix of 29x100 in each page and I want to sum the terms in each column of the 29x100 matrix, hence I am collapsing the 29 rows into 1 and the final matrix is 1x100, then I do that for the other two pages, I combine them and the result should be a 3x100 matrix.
Please help!!
Method 1
lp=3 lt=100
Rn(lp,lt)=0;
for lp=1:length(p) %This is the third dimension =3
for lj=1:NXj % rows = 29
for lt=1:length(rec1) &the columns=100
Rn(lp,lt)=Rn(lp,lt) + (Sign(Snmo(lj,lt,lp)).*(abs(Snmo(lj,lt,lp))).^(1/N));
end
end
endMethod 2:
Rn=zeros(9,100);
for i=1:length(p) %3
for j=1:NXj
Rn(i,100)=sum(Sign(Snmo(j,:,i)).*(abs(Snmo(j,:,i))).^(1/N)));
end
endTHANK YOU
Would this be what you need?
a=rand(29,100,3); b=squeeze(sum(a,1)); whos;
1 Comment
Direct link to this comment:
http://www.mathworks.com/matlabcentral/answers/55830#comment_115554
you can ignore the "Sign(Snmo(:,:,:)"