0

嗨,我有一个对象 A,其中包含 9 个大小为 [1 3] 的向量,三维向量。我如何将所有这些相加以创建一个大小为 [1 3] 的新向量,即如何获取每个向量的贡献,并将它们的每个贡献相加以给我一个最终向量。提前致谢。我的向量存储在一个单元格数组中。如何定义 A:

 ri = Rix{1,1};
 rj = Riy{1,1};


 vec2 = @(i)[ri(i), rj(i), 0];
 A = arrayfun(vec2, reshape(1:numel(ri), size(ri)), 'UniformOutput', 0);

这就是我到目前为止所尝试的:

 B = cellfun(@(A)nansum(A(:))'un', 0);

有这个错误

???b = cellfun(@(distance)nansum(distance(:))'un', 0); | 错误:意外的 MATLAB 表达式。

4

1 回答 1

3

这是你想要的?

dummy = [1 2 3];
A = {dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy}
Asum = sum(cell2mat(A));

结果:

Asum = [9 18 27]

如您所见,cell2mat诀窍就在这里。

于 2012-07-18T15:06:59.517 回答