提取每个数组的最大值在细胞不同维度?

11视图(30天)
我有一个细胞(X)与不同维度的数组。我想创建一个新的数组只包含每个数组的最大值的细胞。我试着Y = X ({}):;但它没有工作由于不同维度的数组。谁能请帮我exract单元中每个数组的最大值,并创建一个新变量的提取的值。

接受的答案

沃斯
沃斯 2021年9月23日
调查 cellfun 。你可以这样做:
X_max = cellfun (@ (y)马克斯(y (:)), X);
2的评论
沃斯
沃斯 2021年9月27日
自从X本身就是一个细胞数组的每个元素,必须使用cellfun两次。试试这样:
X_max = cellfun (@ (x)马克斯(x (:)) cellfun (@ (x) ({}): x, x,“UniformOutput”假),“UniformOutput”、假);
然后X_max单元阵列包含每一组数组的最大值形成一个元素(X)与X{我}是一个空条目单元阵列与所有空向量。
如果你想让X_max包含一个标量值,说南,其中X{我}是一个单元阵列的空向量,可以这样做:
X_max (cellfun (@ (x) isempty (x) X_max)) ={南};
然后你可以让X_max数值数组如果你想:
X_max = [X_max {}):;

登录置评。

更多的答案(0)

类别

找到更多的在矩阵和数组帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!