Sultan Ahmed
Sultan Ahmed

Reputation: 2220

triple sum in matlab

I want to compute the following sum :

enter image description here

I have tried using the following code :

 I = imread('C:\Users\Billal\Desktop\image.png');
[x,y,z]=size(I);
x=(1:x) ;
y=(1:y) ;
z=(1:z) ;
 Fx=ones(size(x));
 Fy=ones(size(y));
Fz=ones(size(z));
X=x*Fy';
Y=Fx*y';
Z=z*Fz'; 
 f=I(X,Y,Z);
sum1 = sum(f(:));
[x1,y1,z1]=size(I);
total = sum1/(x1*y1*z1);

But the result is 0 . I could not figure out where is the problem ? I am following this tutorial .

https://www.mathworks.com/matlabcentral/newsreader/view_thread/126366

Please help me to solve this question .

Upvotes: 0

Views: 478

Answers (1)

Ander Biguri
Ander Biguri

Reputation: 35525

You can do this in a single step:

result=1/prod(size(I))* sum(I(:));

In the end, the equation just adds up values of the whole image.

The question you link to needs to sum over values of x and y. You don't, you just need to sum over indexes, thus there is no need of all those Fx,Fy things

Upvotes: 4

Related Questions