MATLAB Answers

# How to find standard deviation of all entries in a range and omit nan

조회 수: 5(최근 30일)
Adam Friedman 2021년 9월 25일
답변: Chunru 2021년 9월 26일
Suppose I have a matrix that contains NaN entries. I want to find the the standard deviation of all entries in the range (r1:r2,c1:c2) and omit NaN entries. Is there a way to do this without extracting data range first and storing it as a new entry?
I Want to avoid this
A=rand(10);
ssA=A(2:4,3:7); % Sub Set of A
StdssA=std(ssA(:),'omitnan')
And instead do something like this:
A=rand(10);
StdssA=std(A(2:4,3:7),'omitnan')
Unfortunately, this only gives me the std of this range based on whatever dim I specifiy. I want to get the std of all elements in this range with one line of code.

댓글을 달려면 로그인하십시오.

### 답변(1개)

Chunru 2021년 9월 26일
A=rand(10);
StdssA=std(A(2:4,3:7), 0, 'all', 'omitnan') % doc std
StdssA = 0.3421

댓글을 달려면 로그인하십시오.

R2018b

### Community Treasure Hunt

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

Start Hunting!

Translated by