我有一个返回多个值的函数:
function [a,b,c] = f()
a = 1; b = 2; c = 3;
end
如何在不创建中间变量的情况下将输出保存到矢量中?示例如下所示:
> z = zeros(1,3);
> [a,b,c] = f();
> z(:) = [a,b,c];
> z
ans =
1 2 3
我不必定义中间变量a
,b
,c
,但前提是我定义了一个额外的单元格数组:
> ce = cell(1, 3);
> [ce{:}] = f();
> z(:) = cell2mat(ce);
> z
ans =
1 2 3
有没有更好的方法直接从z(:) = f()
?