Filter löschen
Filter löschen

Standard deviation of multiple cell arrays

12 Ansichten (letzte 30 Tage)
Christoph Thorwartl
Christoph Thorwartl am 24 Jun. 2021
Kommentiert: Star Strider am 24 Jun. 2021
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

Akzeptierte Antwort

Star Strider
Star Strider am 24 Jun. 2021
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.
.
  2 Kommentare
Christoph Thorwartl
Christoph Thorwartl am 24 Jun. 2021
Thanks for the quick response. It works perfectly!
Star Strider
Star Strider am 24 Jun. 2021
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by