Matlab为某些例程的输出参数列表中的〜字符引入,以表明我们对此输出值不感兴趣.例如:
% Only interested for max position, not max value
[~, idx] = max(rand(1, 10));
出于速度优化的原因,是否可以从一些例程内部检测到某些输出参数未被使用?例如:
function [y, z] = myroutine(x)
%[
if (argout(1).NotUsed)
% Do not compute y output it is useless
y = [];
else
% Ok take time to compute y
y = timeConsummingComputations(x);
end
...
%]
最佳答案 它可能不是最好的,但一个简单的解决方案是添加另一个输入参数
function [y, z] = myroutine(x, doYouWantY)
%[
if doYouWantY == 0
% Do not compute y output it is useless
y = [];
else
% Ok take time to compute y
y = timeConsummingComputations(x);
end
...
%]