我有一个函数将返回3个不同值中的一个:0,-1,1(或0,1,2)。
条件1比条件2更可能,条件2更可能不是条件为真,因此elseif
function [A] = example(...)
if condition1 == true
A = 1;
elseif condition2 == true
A = -1;
else
A = 0;
end
我需要检查值A
,当这样做时,查看A是正还是负,还是1或2更有效?
示例1:
if A > 0
% Do something
elseif A < 0
% Do something else
else
% Do nothing
end
示例2:
if A == 1
% Do something
elseif A == 2
% Do something else
else
% Do nothing
end
Witch示例将是最有效的循环方式吗?
答案 0 :(得分:0)
我建议您过度优化代码,而且这两个选项几乎完全相同。如果您担心,为什么不设置实验来计算两个选项?您可以使用MATLAB内置的函数timeit
来比较两种可能性。
除了比较(-1,1)和(1,2)之外,您还可以比较一下
if A == 1
% Do something
elseif A == 2
% Do something else
else
% Do nothing
end
与
switch A
case 1
% Do something
case 2
% Do something else
otherwise
end
我怀疑这会比(-1,1)vs(1,2)产生更大的差异,但仍然很少。