How To Calculate Double Summation In Matlb

2 views (last 30 days)
Hi,
Can anyone help me in performing double summation of matrix elements using Matlab of the following equation:
Xc=[Sum(i=1 to 10)Sum(j=1 to 10){I(i,j)-I(m)}*H(i,j)*x]/[Sum(i=1 to 10)Sum(j=1 to 10){I(i,j)-I(m)}*H(i,j)]
Yc=[Sum(i=1 to 10)Sum(j=1 to 10){I(i,j)-I(m)}*H(i,j)*y]/[Sum(i=1 to 10)Sum(j=1 to 10){I(i,j)-I(m)}*H(i,j)].
Where: Sum represents summation,
I(i,j): Consider a 10x10 random matrix,
I(m): Middle element of the matrix I(i,j),
x & y: Co-ordinate of the matrix I(i,j),
H(i,j): H(i,j)=1; if I(i,j)>=I(m) 0; if I(i,j)<I(m).
Thanking You!

Accepted Answer

Dishant Arora
Dishant Arora on 31 Aug 2012
Edited: Dishant Arora on 3 Sep 2012
first thing is, how would you define a middle element in a 10*10 array.
Sum(i=1 to 10)Sum(j=1 to 10){I(i,j)-I(m)}*H(i,j)}
Btw, look at the above statement carefully, what you are doing is nothing but multiplying corresponding elements of 2 matrices and then summing up all the elements.you can accomplish this by:
mat=(I-I(m)).*H.*x;
summation=sum(mat(:));
  2 Comments
Dishant Arora
Dishant Arora on 3 Sep 2012
H=zeros(size(I));
H(I>=I(m))=1;
gives you H, you need not to use if else statement. it's a powerful feature of matlab called logical indexing. http://blogs.mathworks.com/steve/2008/01/28/logical-indexing/ check out this blog.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!