Time, height, and temperature variable all have the same array size. I want find temperature at altitude greater than 6km. I also want 6kmtemp to be the same size as temperature. However, after running this code, the result was an empty array. t3 is 0*0. How can I make this find function work in a for loop. BTW, the find function worked when i didnt have it in the loop. However, the array size changed. What am i missing? Thanks
for i=1:length(Time)
t3=find(height(i)>=6);
6kmtemp(i,t3)=temperature(t3);
end

댓글 수: 2

Note that:
6kmtemp
is not an acceptable variable name, and will throw an error.
Consider:
temp6km
instead.
That is true. however, that was not the error. After running that code, t3 array is empty. meaning the find function in the loop didn't work.

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

 채택된 답변

TADA
TADA 2020년 2월 6일

1 개 추천

Find accepts a logical vector and returns all the indices containing 1.
The problem is you are giving find a scalar value so it's going to return an empty value when height(i) < 6 and 1 whenever height(i) >= 6
Did you consider not using find at all? Instead you can switch to logical indexing:
6kmtemp = nan(size(temperature));
atLeast6km = height >= 6;
6kmtemp(atLeast6km) = temperature(atLeast6km);
You should preallocate 6kmtemp to whatever value you want the "empty" cells to have, I used NaN but you can define your own constants according to what makes sense for you

댓글 수: 4

TADA
TADA 2020년 2월 6일
I'm pretty confident you have to use an English letter as the first character of a variable name though... Does it let you define a variable named 6kmtemp?
The code above is not my original code. this is an example of what I am having issue. my original code does not contain 6kmtemp. this was for explaining purpose. thank you.
Thank you. It worked!
TADA
TADA 2020년 2월 6일
Cheers

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2020년 2월 6일

댓글:

2020년 2월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by