I keep getting NaN values when computing the mean and standard deviation of an array
38 ビュー (過去 30 日間)
古いコメントを表示
Hi, I am attempting to calculate the mean of all the rows in a cell array called 'XTrain2_all' comprised of 4x30 doubles, however I keep getting NaN values instead of 4 mean values. The same happens when computing the standard deviation. How do I stop this from happening? Thanks in advance.
XV = [XTrain2_all{:}];
mu = mean(XV,2);
sg = std(XV,[],2);
0 件のコメント
採用された回答
Walter Roberson
2021 年 1 月 6 日
Each of your rows has 30 NaN values.
In rows 1 and 2, they are in columns 95221 to 95250.
In rows 3 and 4, they are in columns 94951 to 94980 .
mean() of a value that includes nan is going to be nan, because anything added to nan gives nan as a result.
You can use
XV = [XTrain2_all{:}];
mu = mean(XV, 2, 'omitnan');
sg = std(XV, [], 2, 'omitnan');
8 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Descriptive Statistics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!