计算多个3D矩阵的均值和标准差

时间:2018-11-07 17:22:44

标签: matlab

我有一个119x31的单元阵列。每个单元格包含一个91x109x91矩阵,我想计算每行所有31列的标准差和均值。结果应为每行32个91x109x91,分别包含标准偏差值或平均值。

1 个答案:

答案 0 :(得分:1)

遍历所有行,然后使用cat将矩阵连接成第四维,然后可以使用meanstd

%Build some test data
A{10,5} = randn(7,8,9);
A(:,:) = {randn(7,8,9)};

Ae = A; Av = A;%Make resulting cellarrays
Ae{1,end+1}={}; Av{1,end+1}={}; %Make room for one additional entry
for i = 1:size(A,1)
    B = cat(4,A{i,:}); %Matrix now in 4D
    E = mean(B,4);
    V = std(B,[],4);
    Ae{i,end}={E}; % Insert the expectation
    Av{i,end}={V}; % Insert standard deviation
end