Matlab 多个不同大小的输出函数?

Matlab 多个不同大小的输出函数?,matlab,output,variadic-functions,Matlab,Output,Variadic Functions,我需要让MATLAB返回多个不同大小的输出,即一个是n×m矩阵,另一个是向量 function output = name(arg1,arg2,...,argn) blabla output = {A;B}; end 我打字的时候 {A;B}=name(arg1,arg2,...,argn) 我得到这个错误 错误:等号左侧的表达式为 不是分配的有效目标 我如何获得这些多重输出?我不想把它们打印出来;我需要在进一步的计算中使用这些输出。这就是我们可以做的: functio

我需要让MATLAB返回多个不同大小的输出,即一个是n×m矩阵,另一个是向量

function output = name(arg1,arg2,...,argn)

    blabla

    output = {A;B};

end
我打字的时候

{A;B}=name(arg1,arg2,...,argn)
我得到这个错误

错误:等号左侧的表达式为 不是分配的有效目标


我如何获得这些多重输出?我不想把它们打印出来;我需要在进一步的计算中使用这些输出。

这就是我们可以做的:

function [a,b,c,d] =  test(x,y,z)
a = whatever;
b = whatever;
c = whatever;
d = whatever;
end
您还可以对函数输出使用该选项,该选项允许您指定(信不信由你)可变数量的输出

例如,考虑这个函数:

function [varargout] = YourFcn(arg1,arg2)

A = arg1;
B = arg2;

varargout = {A;B};

end
然后,您可以调用函数并在命令窗口或脚本中收集结果,例如:

x = rand(1,10);
y = magic(5);

[A,B] = YourFcn(x,y)
这导致A和B被分配输出:

A =

  Columns 1 through 5

    0.8147    0.9058    0.1270    0.9134    0.6324

  Columns 6 through 10

    0.0975    0.2785    0.5469    0.9575    0.9649


B =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

操作注意事项:您可以应用(
varargin
nargain
),也可以使用+1,贝诺特