gpt4 book ai didi

python - Matlab 相当于 Python 的 'reduce' 函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:58 25 4
gpt4 key购买 nike

我有一堆相同大小的矩阵 m*n:a, b, c, d,我想按元素找到它们的最大值,例如:

mx = max(a, max(b, max(c, d)));

显然上面的代码不够简洁,我用谷歌搜索并没有找到关于 N 矩阵上的 max 或任何 matlab 函数(如 python 的 reduce)的帮助.我对 matlab 了解不多,那么有吗?

最佳答案

为您的输入创建一个n*m*4 矩阵,然后您可以使用max:

M=cat(3,a,b,c,d)
max(M,[],3)

带有参数 3cat 沿着第三个维度连接您的矩阵,而 max 沿着这个维度找到最大值。与任意矩阵维度兼容:

d=ndims(a)
M=cat(d+1,a,b,c,d)
max(M,[],d+1)

Reduce 本身不存在,通常您不需要它,因为多维输入或 varargin 可以解决问题,但如果您需要它,它也很容易实现:

function r=reduce(f,varargin)
%example reduce(@max,2,3,4,5)
while numel(varargin)>1
varargin{end-1}=f(varargin{end-1},varargin{end});
varargin(end)=[];
end
r=varargin{1};
end

关于python - Matlab 相当于 Python 的 'reduce' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875376/

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