如何和不同细胞的细胞阵列

3视图(30天)
费德里科•nutarelli
费德里科•nutarelli 2021年3月2日
评论道: 里克 2021年3月2日
你好,
我有以下问题。
我有一个单元阵列(2 x100),其中每个条目是一个11 x74表。我将男孩做的是使平均比100表的每个值。
例如如果我有一个单元阵列(2 x2)说2 x3矩阵:
(1、2、3、4、5、6][3,24岁,35岁,46岁,今年58岁,69年)
[10 2 3;24,85,6][11,22岁,33岁,54岁,15岁,16)
我想最终的意思行矩阵:
((1 + 3)/ 2 (2 + 24)/ 2,(35 + 3)/ 2,(46 + 4)/ 2,58 + 5)/ 2,(69 + 6)/ 2)
((10 + 11)/ 2 (2 + 22)/ 2,33 (3 +)/ 2;(24 + 54)/ 2,(85 + 15)/ 2,(6 + 16)/ 2)
有办法吗?
谢谢你!

答案(2)

里克
里克 2021年3月2日
这样的工作:
data ={(1、2、3、4、5、6],[3, 24岁,35岁,46岁,今年58岁,69];
[10 2 3;24,85,6],[11,22岁,33岁,54岁,15岁,16]};
data =排列(数据,[3 4 1 2]);
data = cell2mat(数据);
data =意味着(数据,4)
data =
数据(::1)= 2.0000 13.0000 19.0000 25.0000 31.5000 37.5000数据(:,:2)= 10.5000 12.0000 18.0000 - 39.0000 50.0000 - 11.0000
你可以 重塑 这个输出。
2的评论
里克
里克 2021年3月2日
你可以填满空数组南和使用“omitnan”标志。2 x100并不大。太麻烦来显示文本,但Matlab马克斯数组大小远远超过2 * 100 * 11 * 74。
如果你的细胞的顺序并不重要,你也可以使用 猫(3、数据{:}) (假设你已经删除了所有空细胞,其余有相同的大小。

登录置评。


明星黾
明星黾 2021年3月2日
我想这样做:
C ={(1、2、3、4、5、6][3, 24岁,35岁,46岁,今年58岁,69年)
[10 2 3;24,85,6][11,22岁,33岁,54岁,15岁,16]};
cat3 = 0(大小(C{1}, 1),大小(C{1}, 2),大小(C, 2));
k1 = 1:尺寸(C, 1)
k2 = 1:尺寸(C, 2)
cat3 (:,: k2) = C {k1, k2};
结束
cat3_mean {k1,:} =意味着(cat3, 3)
结束
cat3_mean {:}%显示结果
你的数量矩阵,两个嵌套循环可能是唯一可能的解决方案。的 函数可以做到这一点,但是它要求矩阵连接被单独列出,这里似乎没有可能。

类别

找到更多的在细胞数组帮助中心文件交换

标签

社区寻宝

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

开始狩猎!