When using if statements, I am trying to find a set of data that fits the condition I have given. How can I find where the data with the right conditions is located?

답변 (1개)

KSSV
KSSV 2021년 12월 12일

1 개 추천

You can use logical indexing.
Example:
A = rand(10,1) ; % data for demo
idx = A > 0.3 & A < 0.8 ;
idx
idx = 10×1 logical array
0 1 0 1 0 0 0 0 0 0
find(idx)
ans = 2×1
2 4
A(idx)
ans = 2×1
0.7124 0.7594

댓글 수: 5

Zach Hanses
Zach Hanses 2021년 12월 12일
how would I use this on if statments?
You can go by logical indexing seperately; need not to use a if condition. If you insist:
A = rand(10,1) ;
for i = 1:10
if A(i) > 0.3 && A(i) < 0.8 % condition
A(i) % do this
end
end
ans = 0.5699
ans = 0.6995
ans = 0.3670
ans = 0.6272
ans = 0.3990
ans = 0.5883
Zach Hanses
Zach Hanses 2021년 12월 12일
What if the two conditions were from two different datasets.
if A(i) > 0.3 && A(i) < 0.8 % condition
A(i) % do this
What would I put for the outcome of the if condition
This is what I have
for n = 1:length(aveDailyTemp)
if ((aveDailyTemp > 2) & (sevenDayAve < 1));
bestDatesToPlant(n)
Star Strider
Star Strider 2021년 12월 12일
What are the row and column sizes are the two data sets? Do they have common times (or any other specific identifying row information)?
Zach Hanses
Zach Hanses 2021년 12월 12일
they are both 244x1. Each row is supposed to indicate days

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

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

태그

질문:

2021년 12월 12일

댓글:

2021년 12월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by