nanstd use in matlab

9 views (last 30 days)
Feihao Sun
Feihao Sun on 17 Nov 2021
Answered: Chunru on 17 Nov 2021
Hi, For Matlab, I wonder how to use nanstd to calculate the standard deviation of a 3D matrix with NaN values.
Right now assuming a 3-D matrix A_3D
I used A_std = nanstd(A_3D, [],3);
assuming the first numbers in the 3D matrix is 0.3735 and 0.3477 respectively,
using my code would give me a standard deviation of 0.0182 but in reality, it should be 0.0129, I don't know what is going on and I didn't find answers online

Accepted Answer

Chunru
Chunru on 17 Nov 2021
You are using default normalization "[]", which normalised the std by (N-1). If you want to get 0.0129, you need to change [] into 1.
nanstd([0.3735; 0.3477])
ans = 0.0182
nanstd([0.3735; 0.3477], 1)
ans = 0.0129

More Answers (0)

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!