matlab程序if语句用法

作者&投稿:昔严 (若有异议请与网页底部的电邮联系)
matlab if else语句怎么用?~

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;就会出现了。
也就是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可以用,但是它不适合这样的分支条件

嵌套if语句的语法如下:
if
% Executes when the boolean expression 1 is true
if
% Executes when the boolean expression 2 is true
end
end
例如:
创建脚本文件并在其中键入以下代码 :
a = 100;
b = 200;
% check the boolean condition if( a == 100 )
% if condition is true then check the following
if( b == 200 )
% if condition is true then print the following
fprintf('Value of a is 100 and b is 200
' );
end
end
fprintf('Exact value of a is : %d
', a );
fprintf('Exact value of b is : %d
', b );MATLAB
执行上面示例代码,得到以下结果:
Value of a is 100 and b is 200
Exact value of a is : 100
Exact value of b is : 200

扩展资料:
C语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:

if(x>y)printf("%d",x);2、if(表达式)语句1 else 语句2。
例如:

if(x>y)printf("%d",x);
else printf("%d",y);
3、在每个语句中,可以有多个语句,但需要加上大括号。
例如:

if(x>y){printf("%d",x);break;}参考资料来源:百度百科—if语句

MATLAB中我们常常用到条件判断语句结构,通过实例介绍这个结构的用法:

1、if.....end结构,运行下面的句子,此条件语句是判断5是否大于3,如果大于3,就将1赋值给;


2、if....else...end 结构,我们以如下内容进行判断:

运行以上语句,结果如下a1=1,a2=1,判断a1是否大于a2,显然不大于,然后就执行else语句,给a赋值为2;

3、if..elseif...else...end 结构

我们以如下语句为例,进行此条件结构的示例

运行以上语句,结果如下:

a1=a2=1,判断a1>a2?不满足,执行elseif语句,a1<a2,不满足,执行else语句,a=3



clc;clear all;close all;
n=zeros(5,1);
s=[1 1.5 3 3.5 5];
for i=1:1:5
if s(i)<=1
n(1,1)=n(1,1)+1;
elseif 1<s(i)&&s(i)<=2
n(2,1)=n(2,1)+1;
elseif 2<s(i)&&s(i)<=3
n(3,1)=n(3,1)+1;
elseif 3<s(i)&&s(i)<=4
n(4,1)=n(4,1)+1;
else
n(5,1)=n(5,1)+1;
end
end


问几个matlab的题!
3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB的图形功能...

如何用modelsim编译systemC的设计
大家同时也可以看到,现在在ModelSim等仿真软件中,SystemC使用起来跟Verilog\/VHDL一样,非常方便。举一个例子,我们假如想做DVB-S2的LDPC,我们一定会先用C++(M atlab也可以)写仿真程序,验证算法的正确性。然后假设我们已经确定了目标ASIC的架构,打算用Verilog做RTL设计。现在既然C++代码的验证部分可以几...

石景山区13462437657: matlab if语句如何使用 -
骆茅韦铭: 为for加2个end就好了. function y=f(x) y=zeros(size(x)); [m n]=size(x); for i=1:mfor j=1:nif x(i,j)<=300y(i,j)=20else if x(i,j)<=350y(i,j)=23else if x(i,j)<=400y(i,j)=26else if x(i,j)<=450y(i,j)=29else if x(i,j)<=500y(i,j)=32else if x(i,j)<=600y(i,j)=37 ...

石景山区13462437657: matlab中function中if语句怎么用? -
骆茅韦铭: 在matlab中,if 语句可以跟随一个(或多个)可选的 elseif... else 语句,这是非常有用的,用来测试各种条件. 使用 if... elseif...else 语句,有几点要记住: 一个 if 可以有零个或else,它必须跟在 elseif 后面(即有 elseif 才会有 else). ...

石景山区13462437657: matlab if语句 -
骆茅韦铭: 这是因为数组a的第一个元素为1,a(1,:)>1不满足,所以不执行if条件语句,所以第一种情况没有结果输出; 如果>1改为>0,a(1,:)>1满足,所以执行if条件语句,输出正确结果!

石景山区13462437657: matlab中if语句用法? -
骆茅韦铭: 就是若 i 是1,4,8,16这4个数中的一个,条件即为满足.

石景山区13462437657: matlab if语句的用法 -
骆茅韦铭: else就行了,不用再加个x>1 for i=1:20 x(i)=(0.95+0.1*i/21)*1.0; if x(i)<1 y(i)=(x(i)-0.95)/0.05; else y(i)=(1.05-x(i))/0.05; endendy...

石景山区13462437657: 怎么在matlab中用if语句表示下面的语句:怎么在matlab中用if语句表示下面的语句:当X= -
骆茅韦铭:[答案] if x=60&&x

石景山区13462437657: 怎么在matlab中连续使用if语句 -
骆茅韦铭: 一般为 if 条件 内容 end 或 if 条件 内容 else if 内容 end 或者 if (expression1) {commands1} else if (expression2) {commands2} else if (expression3) {commands3} else if …… ………………………………… else {commands} end end end …… end

石景山区13462437657: matlab IF语句
骆茅韦铭: clear Y=input('Y=?'); X=input('X=?'); if Y<=8.5*X C=0; else C=2*(Y-8.5*X); end C if Y>=5*X D=0; else D=2*(5*X-Y); end D

石景山区13462437657: matlab if 语句 -
骆茅韦铭: 就是一个逻辑或的意思,前面两个条件或之后的值再与后面逻辑相与.

石景山区13462437657: 怎么在matlab中用if语句表示下面的语句: -
骆茅韦铭: 为什么要跳过?一般都是用if进行选择,如果想跳出循环就要用break,跳出每一步循环后面的部分进入下一次循环要用continue.matlab没有goto.即使是c,goto也是不被推荐的.标准的顺序程序结构是完全可以避免goto的.哦,原来是这个意思啊.想跳过的那些行,全部选上,然后按ctrl+r.就全部注释掉了,颜色变绿.想恢复,选中它们,再按ctrl+t,反注释.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网