0
您好我已经填充用电池阵列中的每个细胞中的所有元素:MATLAB - cellfun总和
D(i) = {dist};
D = reshape(D, w, h)
,这样,如果我有:
pix1 = D{1,1};
pix2 = D{2,2};
我得到
pix1 =
1 2 3
pix2 =
4 5 6
我想要做的就是将每个像素中的所有元素进行求和,然后将这些结果并形成一个矩阵,即
sum(pix1) = 6
sum(pix2) = 15
matrix =
6 15
在这种情况下,矩阵是1X2矩阵(我的规模要大得多)。
我试图用这个做:
field = cellfun(@(dist) sum(dist(:)), D,'UniformOutput', false);
但这只是给我一个完整的NaN的矩阵。我哪里错了?
如果我有一个2×2单元阵列?即 A = [1X3 double] [1x3 double] \ n [1x3 double] [1x3 double] 您发布的代码似乎不适用于本示例,我将如何更改您的代码一个2x2单元阵列?或甚至nxn?感谢您的回复。 – brucezepplin
@brucezepplin:你确定?它工作得很好。例如:'A = {[1 2 4],[4 5 6]; [1 2 4],[4 5 6]};'然后'B = cellfun(@sum,A)' – Amro