How to check if one of output variables is not called
조회 수: 12 (최근 30일)
이전 댓글 표시
If I have a function which can return multiple outputs, how can I tell from inside the function that some of the output variables are not called? One application is skipping a long calculation of an unused output variable.
Here is a non-working example. Can it be made to work?
% This would perform both calculations
[addIt, multIt] = test_empty_function_outputs1(2,3);
% This would only perform the addition to get the 1st output
[addIt, ~] = test_empty_function_outputs1(2,3);
% This would only perform the multiplication to get the 2nd output
[~, multIt] = test_empty_function_outputs1(2,3);
function varargout = test_empty_function_outputs1(x,y)
if ~isempty(varargout{1}) % Only calculate if 1st output is called
% Gives an error: Undefined function or variable 'varargout'
varargout{1} = x+y;
end
if ~isempty(varargout{2}) % Only calcluate if 2nd output is called
varargout{2} = x*y;
end
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Argument Definitions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!