我有一个函数,将图像作为参数,并产生一个标签和一个分数。我偶尔想快速测试(单元格)图像数组,而我所知道的最方便的方法是使用arrayfun
。这对于获取函数生成的标签效果很好,但是我真的希望输出是[label score]
单元的列表。
我可以在函数周围编写一个包装器,以捕获这两个值并以单元格矩阵形式返回它们,然后在arrayfun
中调用该包装器,但这似乎是一个足够普遍的习惯,应该有一种方法可以处理多个返回值更方便。有没有? (也许已经存在可以执行此操作的标准便利功能?有点像deal
的反面...)
最佳答案
您可以使用内置语法将输出作为两个矩阵:
[A, B, ...] = arrayfun(fun, S, ...);
例如:
function [y,z]=foo(x)
y= x*x;
z = x + 10;
end
然后运行功能:
[A,B] = arrayfun( @foo, magic(5))