如何编写所有的if语句在一个Lline吗?

993(30天)
有什么办法可以编写所有的if语句在一行吗?
如果一个= = 1 = 2 elseif B = 3

接受的答案

Azzi Abdelmalek
Azzi Abdelmalek 2016年8月16日
编辑:Azzi Abdelmalek 2016年8月16日
如果A = = 1 = 2,其他的B = 3,结束
但这个的目的是什么?
4评论
史蒂文的主
史蒂文的主 2021年4月13日
考虑写一“logme”功能。
函数logme (messageToLog)
verbose = true;
如果详细的
流(' % s 'messageToLog)
结束
结束
现在您的代码将包含调用logme。
logme (“诊断讯息# 1”)
如果你想运行没有显示这些消息,改变logme内部详细的定义。您还可以修改logme记录这些消息不是屏幕而是一个日志文件没有改变logme的调用者。

登录置评。

更多的答案(2)

KarlHoff
KarlHoff 2021年10月20日
您可以使用逻辑值因素在0和1之间切换:
B = 2 + 1 * (A ~ = 1);
%或
% B = 3 + (1) * (= = 1);%的角色逆转——根据口味
这种方法工作只要你的if语句之间的歧视的两个版本一个分配到同一个变量作为例子。
我个人觉得这特别有用如果有基值(2)和一些三角洲添加有条件地(在这里,+ 1获得3)。你也可以进一步扩展为条件。
2的评论
KarlHoff
KarlHoff 2021年12月10日
如何
0 / (a - 1) + 3%的回报不同的数值为不同~ = 1
0 / ((= = 1)1)+ 3%返回3 ~ = 1

登录置评。


安德烈斯
安德烈斯 2023年5月3日16:34
一个= [1 2 3;4 5 6];
最大= 8;
x = 0;
y = 0;
如果一个(1、2)< (4)
如果((6)>最大)| (4 > (6))
y = 9;
其他的
x = x - 1;
其他的
x = 14;
结束

类别

找到更多的在启动和关闭帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!