nanstd use in matlab

7 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 Audio I/O and Waveform Generation 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!