列中单元格数组的总和

时间:2016-01-16 06:56:02

标签: matlab matrix

我有一个像< 1x74 cell>的单元格数组。并且单元格的每个元素都是4×4的矩阵。如何总结以便我有一个4×4的最终矩阵。我最初以下面的方式做了:

Total = In{1,1}+In{1,2}+In{1,3}+In{1,4}+In{1,5}+In{1,6}+In{1,7}+In{1,8}+In{1,9}+In{1,10}+.....In{1,74};

2 个答案:

答案 0 :(得分:2)

Total = zeros(2,2);

for i=1:size(In,2)
    Total = Total+In{1,i};
end
display('This is the result: ')
Total

正如您在评论中提到的,如果您不想在之前定义总计,请执行此操作

for i=1:size(In,2)
    if i~=1 
    Total = Total + In{1,i}; % executes for numbers equal or larger than 2
    else
    Total = In{1,i}; %executes on i=1
    end
end

答案 1 :(得分:0)

假设你创建一个74x4x4 3D矩阵而不是一个单元阵列,你只需使用sum

Total=sum(In);

它将产生1x4x4矩阵,以获得4x4矩阵使用shiftdim

Total=shiftdim(sum(In))