gpt4 book ai didi

matlab - 定义具有多个无法组织成矩阵的输出的函数

转载 作者:行者123 更新时间:2023-12-02 08:10:52 24 4
gpt4 key购买 nike

是否有任何自然方法来定义具有不能或不适合“堆叠”到矩阵中的多个输出的 MATLAB 函数?例如,如果我想要一个函数 f 怎么办?返回 3x3矩阵 A 一个4x4矩阵 B

我真的很惊讶这甚至会成为 MATLAB 中的一个问题。因为在 Python 中,我们需要做的就是 return A, B它返回两者的元组。然而,MATLAB 似乎不太支持容器的概念。作为一种非优雅的解决方法,我可以使用 struct将两条数据放入,函数如下所示:

function re = f(x)
%f: returns two dimensional-inconsistent matrices A and B
% function body as follows
....
A = ...;
B = ...;

% put data into the struct 're'
re.A = A;
re.B = B;
end

除了可能的性能问题外,这种方法看起来非常不自然且笨拙。有没有更好的方法?

最佳答案

在 MATLAB 中,您可以使用以下语法返回任意数量的输出:

function [A,B] = f(x)
A = ...;
B = ...;
end

这是一个比 python 中使用的元组更优雅的解决方案。您甚至可以使用输入和输出(narginnargout)的数量来控制行为,并使用波浪号丢弃输出。 More information here .我想不出更优雅的语法。

关于matlab - 定义具有多个无法组织成矩阵的输出的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47174180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com