MATLAB中if else语句的使用方法示例:
第一步:首先,找到开始菜单的MATLAB图标,并打开MATLAB。
第二步:在MATLAB的软件界面中点击file-new-m-file,创建新文件。
第三步:将所要创建的新文件命名为test,并点击保存。
第四步:然后如图所示,输入如下代码
第五步:点击上方工具栏中的绿色三角形的运行按钮,使其运行即可
扩展资料:
在同一个 if 结构中可以有多个 elseif 语句。第一个表达式值为 TRUE 的 elseif 语句(如果有的话)将会执行。在 php 中,也可以写成“else if”(两个单词),它和“elseif”(一个单词)的行为完全一样。
句法分析的含义有少许区别(如果你熟悉 C 语言的话,这是同样的行为),但是底线是两者会产生完全一样的行为。
elseif 的语句仅在之前的 if 或 elseif 的表达式值为 FALSE,而当前的 elseif 表达式值为 TRUE 时执行。
ifh(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;就会出现了。
也就是matlab把h(i,j)==d1(i,j)当做是一条单独的语句,而不是判断条件。
究其原因,就是,if-elseif-else-end最后一个else是不用判断条件的,前面的条件都不满足就会执行else后的语句。
再加上,用来计算的矩阵是由rand随机生成的,这样,就可以很好的解释为什么有时多,有时少,数量不确定的现象了。
所以修改的办法是:1,把h(i,j)==d1(i,j)删除;2,把else改成elseif。
对于这个程序,我感觉用if语句还是比较合理的,用switch-case可以用,但是它不适合这样的分支条件
%end的地方放的有点问题,我稍微改了下你的程序,你看下是你想要的吗%
function[s]=gf_sum(A)
clcclear
x=5
A=[
11
13
9
14
11
11
12
8
8
9
11
13
7
7
16
9
9
12
8
13
7
8
12
12
11
12
13
9
13
14
17
12
16
9
4
13
9
13
8
8
11
13
6
11
6
16
11
12
7
8
12]
%
A=rand(1,200)
s=A(1)
for
i=2:length(A)
a=fix(s/x)+fix(A(i)/x)
b=mod(s,x)+mod(A(i),x)
if(a>0)
c=fix(a/x)+fix(b/x)
d=mod(a,x)+mod(b,x)
if(c>0)
e=fix(c/x)+fix(d/x)
f=mod(c,x)+mod(d,x)
s=e*x+f
else
s=c*x+d
break
end
end
if(b>x)
g=mod(fix(a/x),x)
s=g*x+b
break
else
s=a*x+b
end
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)