How can I remove (set to NaN) values in matrix starting at row index value and all following values which differ for each column

조회 수: 1 (최근 30일)
I have two matrices (kz and zdr) of equal size [997 x 359]. I want to find the first value for each column in zdr>3.5 and use the index to set kz=NaN, but I want all following rows to be equal to NaN as well regardless of their value in zdr.
example: a=-4; b=5; zdr=(b-a).*rand(959,359) + a; kz=randn(997,358);
[mie_rows,mie_cols]=find(zdr>3.5) mie=[mie_rows,mie_cols];
so in my case the first column [23,1] is the first row beyond 3.5. I would therefore like kz from row 23 and beyond to be NaN, the next column is [1,2], from row 1 and beyond of kz is NaN, and etc...
  댓글 수: 1
Amir
Amir 2014년 8월 4일
Please try this code. I hope it works for you
a=-4; b=5; zdr=(b-a).*rand(959,359) + a; kz=randn(997,359); for i=1:size(zdr,2) kz(min(find(zdr(:,i)>3.5))+1:end,i)=NaN; end

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

채택된 답변

Amir
Amir 2014년 8월 4일
Please try this code. I hope it works for you
a=-4; b=5; zdr=(b-a).*rand(959,359) + a; kz=randn(997,359);
for i=1:size(zdr,2)
kz(min(find(zdr(:,i)>3.5))+1:end,i)=NaN;
end
  댓글 수: 2
Brandon
Brandon 2014년 8월 4일
one quick edit, the +1 keeps the first value of >3.5, when I didnt want that. Guess I wasnt to clear. Removing the +1 works fine though.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by