Matlab将输出分成2个变量

dyn*_*mic 4 matlab output

我有两个浮点变量:

x = 0.5;
y = 1.5;
Run Code Online (Sandbox Code Playgroud)

我想让他们满意:

x = floor(x);
y = floor(y);
Run Code Online (Sandbox Code Playgroud)

我可以在一个命令中完成吗?这引发了一个错误:

[x y] = floor([x y]);
Run Code Online (Sandbox Code Playgroud)

H.M*_*ter 7

您可以为地板编写自己的包装:

function varargout = myFloor(varargin)
for k = 1:nargin
    varargout{k} = floor(varargin{k});
end
Run Code Online (Sandbox Code Playgroud)

如果将x和y作为两个独立的参数提供,则此函数显示所需的行为

[a, b] = myFloor(x,y)
Run Code Online (Sandbox Code Playgroud)

这导致了

a =

     0


b =

     1
Run Code Online (Sandbox Code Playgroud)

如果要使用连接数组[x y]作为输入(如示例中所示),可以使用以下函数:

function varargout = myFloor(x)
for k = 1:numel(x)
    varargout{k} = floor(x(k));
end
Run Code Online (Sandbox Code Playgroud)

然后你会打电话

[a, b] = myFloor([x y])
Run Code Online (Sandbox Code Playgroud)

这导致了

a =

     0


b =

     1
Run Code Online (Sandbox Code Playgroud)