嗨我有一个物体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(@(距离)nansum(距离(:))'un',0); | 错误:意外的MATLAB表达式。
答案 0 :(得分:3)
这是你在找什么?
dummy = [1 2 3];
A = {dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy}
Asum = sum(cell2mat(A));
结果:
Asum = [9 18 27]
正如您所看到的,cell2mat
就是诀窍。