Matlab的三级关系运算符是怎么写的?例如c#中是 b:c ,如果a为真则取b值,a为假取c值.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 16:29:39

Matlab的三级关系运算符是怎么写的?例如c#中是 b:c ,如果a为真则取b值,a为假取c值.
Matlab的三级关系运算符是怎么写的?
例如c#中是 b:c ,如果a为真则取b值,a为假取c值.

Matlab的三级关系运算符是怎么写的?例如c#中是 b:c ,如果a为真则取b值,a为假取c值.
很遗憾,MATLAB中没有这样的三目操作符(也有称三元操作符,ternary operator).
 
如果愿意的话,可以定义匿名函数实现类似的功能,但肯定不如C/C++的表达式那么简洁:
>> ifelse=@(a,b,c)(a~=0)*b+(a==0)*c;
>> ifelse(2>3,4,5)
ans =
     5
>> ifelse(3>2,4,5)
ans =
     4