matlabif语句怎么用_matlabif语句 每日讯息
发布时间:2023-03-21 18:48:43 来源:互联网


(相关资料图)

1、if h(i,j)==a1(i,j) e(i,j)=a(i,j); elseif h(i,j)==b1(i,j) e(i,j)=b(i,j); elseif h(i,j)==c1(i,j) e(i,j)=c(i,j); else h(i,j)==d1(i,j) e(i,j)=d(i,j); end 对这一段程序仔细分析,我没有仔细分析前面的程序,但可以猜测以下,h(i,j)肯定会和a1(i,j)、b1(i,j)、c1(i,j)、d1(i,j)中的某一个相等,这样当h(i,j)和a1(i,j)、b1(i,j)、c1(i,j)不相等的时候,就会执行到最后一条else语句else h(i,j)==d1(i,j) e(i,j)=d(i,j);这时候ans=1;就会出现了。

2、也就是Matlab把h(i,j)==d1(i,j)当做是一条单独的语句,而不是判断条件。

3、究其原因,就是,if-elseif-else-end最后一个else是不用判断条件的,前面的条件都不满足就会执行else后的语句。

4、再加上,用来计算的矩阵是由rand随机生成的,这样,就可以很好的解释为什么有时多,有时少,数量不确定的现象了。

5、所以修改的办法是:1,把h(i,j)==d1(i,j)删除;2,把else改成elseif。

6、对于这个程序,我感觉用if语句还是比较合理的,用switch-case可以用,但是它不适合这样的分支条件。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签: