假设我有一个函数,其输出是两个实数 a 和 b
[a,b]=function(c)
我想获得向量 v 中的所有输出。
v=function(c) 没有执行我想要的操作,v 只是“a”。
当然这里我可以做v=[a,b]。
但所讨论的函数是 N 维数组的 ind2sub ,因此它给出了我希望直接在向量中具有的 n 个输出。
有办法做到吗?
非常感谢!
您可以使用元胞数组和以逗号分隔的列表 http://www.mathworks.com/help/matlab/matlab_prog/comma-separated-lists.html像这样:
X = cell(N, 1);
[X{:}] = function(C);
语法X{:}
实际上扩展到[X{1}, X{2}, ...]
,它为您的函数提供了一个有效的接收器。因此,每个输出变量将存储在不同的单元格中X
.
如果每个输出变量都是标量,您可以使用另一个逗号分隔的列表扩展将元胞数组展平为向量:
v = [X{:}];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)