matlab中的三重和

时间:2017-03-17 11:12:17

标签: matlab sum

我想计算以下总和:

enter image description here

我尝试使用以下代码:

 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);

但结果为0。我无法弄清楚问题出在哪里?我正在学习本教程。

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

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:4)

您只需一步即可完成此操作:

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

最后,等式只是将整个图像的值相加。

您链接的问题需要总结xy。你不需要,你只需要总结索引,因此不需要所有那些Fx,Fy事物