Standard deviation of multiple cell arrays

12 次查看(过去 30 天)
I've figured out how to get the average of multiple cell arrays. M is a 1x19 cell
MEAN = mean(cat(3,M{:}),3)
This works well. Now I want to apply the same for the standard deviation:
SD= std(cat(3,M{:}),3)
However, the following error occurs:
>> SD= std(cat(3,M{:}),3)
Error using var (line 197)
W must be a vector of nonnegative weights, or a scalar 0 or 1.
Error in std (line 59)
y = sqrt(var(varargin{:}));
Could someone help me how to rewrite the code?
Thanks and best regards,
Christoph

采纳的回答

Star Strider
Star Strider 2021-6-24
I am not certain what ‘M’ actually is.
Try this —
M = {rand(5),rand(5),rand(5)} % Create 'M'
M = 1×3 cell array
{5×5 double} {5×5 double} {5×5 double}
SD = std(cat(3,M{:}),[],3)
SD = 5×5
0.3347 0.2972 0.2701 0.3528 0.1500 0.3883 0.3171 0.2027 0.1444 0.1855 0.2140 0.4325 0.2838 0.2795 0.3368 0.1092 0.2164 0.0409 0.2087 0.3983 0.1550 0.1595 0.3300 0.0953 0.1421
Supply an empty array [] for the weight argument and it should work.
.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by