Matlab中如何使用if语句?
答案:4 悬赏:30 手机版
解决时间 2021-03-07 03:12
- 提问者网友:爱唱彩虹
- 2021-03-06 15:15
Matlab中如何使用if语句?
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-03-06 16:24
有条件性地执行语句
语法
if expression
statements
end
描述
MATLAB 计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条 MATLAB 命令语句。
当有嵌套if时,每一个if必须和一个相应的end匹配。
当你在if语句里面嵌套使用else if或者else时,一般的格式如下:
if expression1
statements1
elseif expression2
statements2
else
statements3
end
参数
1、expression
expression参数一个 MATLAB表达式,通常由一些变量或者联合相关操作的更小的表达式(例如:count < limit)或者逻辑函数(例如:isreal(A))组成。简单表达式可以结合一些逻辑运算符(&,|,~)变成复合表达式,例如下面的组合表达式从左到右根据操作符优先级进行计算。
(count < limit) & ((height - offset) >= 0)
2、statements
statements参数是一条或者多条仅仅当expression为true或者非零时而执行的MATLAB 语句。
备注
非标量表达式:
如果需要计算的表达式产生一个非标量的值,那么只有当该值的每一个元素都为true或者非零时,才认为该表达式为true。例如,对于语句if(A计算部分表达式值:
在if或者while语句中,并不是所有情况都要计算整个表达式的值,在某些情况下,只需计算部分值就可以判断真假,这样往往是更优的。例如:
在下面表达式1中,如果A为零,那么整个表达式的值为false,而不管B的值如何,这样就没必要计算B的值,而MATLAB也不会去计算它。同样,在表达式2中,如果A为非零,那么整个表达式为true,而不管B的值如何。这些时候都不需要计算表达式后面部分的值。
1) if (A & B) 2) if (A | B)
如果前半部分的值能评估整个表达式状态,你可以通过这个属性来优化程序。例如:
while (b ~= 0) & (a/b > 18.5)
if exist('myfun.m') & (myfun(x) >= y)
if iscell(A) & all(cellfun('isreal', A))
示例
1、在下面这个示例中,如果两个条件都满足,那么学生将通过这课程。
if ((attendance >= 0.90) & (grade_average >= 60))
pass = 1;
end;
2、已知矩阵A和B,
A = B =
1 0 1 1
2 3 3 4
语法
if expression
statements
end
描述
MATLAB 计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条 MATLAB 命令语句。
当有嵌套if时,每一个if必须和一个相应的end匹配。
当你在if语句里面嵌套使用else if或者else时,一般的格式如下:
if expression1
statements1
elseif expression2
statements2
else
statements3
end
参数
1、expression
expression参数一个 MATLAB表达式,通常由一些变量或者联合相关操作的更小的表达式(例如:count < limit)或者逻辑函数(例如:isreal(A))组成。简单表达式可以结合一些逻辑运算符(&,|,~)变成复合表达式,例如下面的组合表达式从左到右根据操作符优先级进行计算。
(count < limit) & ((height - offset) >= 0)
2、statements
statements参数是一条或者多条仅仅当expression为true或者非零时而执行的MATLAB 语句。
备注
非标量表达式:
如果需要计算的表达式产生一个非标量的值,那么只有当该值的每一个元素都为true或者非零时,才认为该表达式为true。例如,对于语句if(A计算部分表达式值:
在if或者while语句中,并不是所有情况都要计算整个表达式的值,在某些情况下,只需计算部分值就可以判断真假,这样往往是更优的。例如:
在下面表达式1中,如果A为零,那么整个表达式的值为false,而不管B的值如何,这样就没必要计算B的值,而MATLAB也不会去计算它。同样,在表达式2中,如果A为非零,那么整个表达式为true,而不管B的值如何。这些时候都不需要计算表达式后面部分的值。
1) if (A & B) 2) if (A | B)
如果前半部分的值能评估整个表达式状态,你可以通过这个属性来优化程序。例如:
while (b ~= 0) & (a/b > 18.5)
if exist('myfun.m') & (myfun(x) >= y)
if iscell(A) & all(cellfun('isreal', A))
示例
1、在下面这个示例中,如果两个条件都满足,那么学生将通过这课程。
if ((attendance >= 0.90) & (grade_average >= 60))
pass = 1;
end;
2、已知矩阵A和B,
A = B =
1 0 1 1
2 3 3 4
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-03-06 18:47
for x=1:20
if y>=0 &&y<=8
y=x+5
elseif y<=0
y=0
else
y=8
end
end
if y>=0 &&y<=8
y=x+5
elseif y<=0
y=0
else
y=8
end
end
- 2楼网友:鸠书
- 2021-03-06 18:01
clear
y=input('y=');
for i=1:20
if y>=0&&y<=8
y=i+5 ;
elseif y<0
y=0 ;
else
y=8 ;
end
end
y=input('y=');
for i=1:20
if y>=0&&y<=8
y=i+5 ;
elseif y<0
y=0 ;
else
y=8 ;
end
end
- 3楼网友:千杯敬自由
- 2021-03-06 17:12
先说一下你的程序,最后要有2个end,你漏了一个。还有y=8的等于号应该是半角的=,你写的是全角的=。
然后我不知道你的程序想干什么,写出x在1:20时y对应的值?如果是则样的话可以这样写:
x=1:20
y=min(max(x+5,0),8)
然后我不知道你的程序想干什么,写出x在1:20时y对应的值?如果是则样的话可以这样写:
x=1:20
y=min(max(x+5,0),8)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯