【发布时间】:2015-05-14 17:56:04
【问题描述】:
我想增加计数并在消息框中显示该值。我正在使用嵌套的 if 语句。这是我的代码
if sum( abs( f1(:) - f2(:))) == 0.0
i = i + 1;
elseif sum(abs(f2(:) - f3(:))) == 0.0
i = i+ 1;
elseif sum(abs(f3(:) - f4(:))) == 0.0
i = i + 1;
else
i = 1;
end
h = msgbox('Perfect = %d',i);
这里f1,f2,f3和f4包含两个浮动图像之间的差异。我在 if 语句之前声明了i = 0;。我仍然无法在输出中看到消息框。我也尝试了disp() 函数,但它只显示else 部分,即i = 1
有什么建议吗?
提前致谢!
【问题讨论】:
-
可能是浮点精度问题 - stackoverflow.com/questions/686439/…
-
@Divakar 我使用
i仅用于计数。我猜浮动不会影响。 -
.@Divakar 指的是与
0的总和的完全相等。如果f*向量是双精度的,那么在浮点中通常很难完全等同于0。
标签: matlab if-statement count