您将参数翻转为ismember
,然后使用第二个输出参数:
[~,loc]=ismember(A,B)
loc =
1
5
1
6
第二个输出告诉您 的元素在A
哪里B
。
如果您对代码中可以包含的行数有非常严格的限制,并且无法解雇施加此类限制的经理,您可能希望直接访问第二个输出ismember
。为此,您可以创建以下帮助函数,允许直接访问函数的第 i 个输出
function out = accessIthOutput(fun,ii)
%ACCESSITHOUTPUT returns the i-th output variable of the function call fun
%
% define fun as anonymous function with no input, e.g.
% @()ismember(A,B)
% where A and B are defined in your workspace
%
% Using the above example, you'd access the second output argument
% of ismember by calling
% loc = accessIthOutput(@()ismember(A,B),2)
%# get the output
[output{1:ii}] = fun();
%# return the i-th element
out = output{ii};