如何在matlab中的嵌套if语句中进行计数?

How to count in nested if statement in matlab?

我想增加计数并在消息框中显示值。我正在使用嵌套的 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);

这里f1f2f3f4包含了float中两张图片的区别。我在 if 语句之前声明了 i = 0; 。我仍然无法在输出中看到消息框。我也尝试使用 disp() 函数,但它只显示 else 部分,即 i = 1

有什么建议吗?

提前致谢!

决策树的每个相互排斥的分支都是 i=i+1i=1无论哪一个运行,如果i之前是0,那么之后就是1。

我不明白你想要什么,但是编写的代码检查了几个条件并且无论如何都做同样的事情,这是不对的。

编辑:试试这个

if sum( abs( f1(:) - f2(:))) == 0.0
   i = i + 1;
end
if sum(abs(f2(:) - f3(:))) == 0.0
   i = i+ 1;
end
if sum(abs(f3(:) - f4(:))) == 0.0
   i = i + 1;
end

h = msgbox('Perfect  = %d',i);

这将为您提供从零到三的匹配项数。现在所有条件都是独立检查的,之前只有在第一个条件为假时才检查第二个条件。