I keep getting NaN values when computing the mean and standard deviation of an array
조회 수: 23 (최근 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!