# EDITED: Variance when only one observation is not NaN

조회 수: 1(최근 30일)
Mia Dier 2021년 1월 12일
편집: Matt J 2021년 1월 12일
EDITED: I think my problem was not clear from the previous example. So, I added a new one below here:
I am trying to calculate a moving variance of the max last 5 years of observations. If remove 'omitnan' then I get NaN for pastvarofA for all the next 5 observations that follows NaN and I don't want that.
I get 0 if there is an observation that is non NaN in the sample that the variance is calculated. But I want to get NaN when that is the case.
A=[4;NaN;5;5;6;8;9];
pastvarofA=NaN(7,1);
for i=2:5
for k=i+1:7
varofA(k,1)=var(A(k-i:k-1), 'omitnan');
end
end
What I want to get is something like this:
pastvarofA
NaN
NaN
Var of 4 and NaN=NaN
Var of 4, NaN and 5= Var of 4 and 5
Var of 4, NaN, 5 and 5= Var of 4, 5 and 5
Var of 4, NaN, 5, 5 and 6 = Var of 4, 5, 5 and 6
Var of NaN, 5, 5, 6 and 8 = Var of 5, 5, 6 and 8
But what I get is this:
parvarA:
NaN
NaN
Var of 4 and NaN= 0
Var of 4, NaN and 5= Var of 4 and 5
Var of 4, NaN, 5 and 5= Var of 4, 5 and 5
Var of 4, NaN, 5, 5 and 6 = Var of 4, 5, 5 and 6
Var of NaN, 5, 5, 6 and 8 = Var of 5, 5, 6 and 8
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Mia Dier 2021년 1월 12일
It was probably not clear from previous example why removing 'omitnan' didn't solve the problem. I added a new example above and I hope that the problem is clear now!

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

### 채택된 답변

Matt J 2021년 1월 12일
편집: Matt J 2021년 1월 12일
A=[1;2;3;NaN;5;5;6];
varofA = 6×1
0.5000 0.5000 NaN NaN 0 0.5000
##### 댓글 수: 1표시숨기기 없음
Matt J 2021년 1월 12일
A=[4;NaN;5;5;6;8;9];
pastvarofA=movvar(A,[4,0],'omitnan');
pastvarofA=[nan;pastvarofA(1:end-1)]
pastvarofA = 7×1
NaN 0 0 0.5000 0.3333 0.6667 2.0000

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

### 추가 답변(1개)

Catalytic 2021년 1월 12일
Omit 'omitnan'
##### 댓글 수: 1표시숨기기 없음
Mia Dier 2021년 1월 12일
It was probably not clear from previous example why removing 'omitnan' didn't solve the problem. I added a new example above and I hope that the problem is clear now!

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

### Community Treasure Hunt

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

Start Hunting!