From 2 given values find the range from a vector
1 次查看(过去 30 天)
显示 更早的评论
for example if i have a vector D=[110 140 160 225 280 315 355 400 450 500] and values Dmin=112 and Dmax=356 (always find the value rounded to the bigger number of the vector). i Want to find Range=[140 160 225 280 315 355 400]
Thank you
0 个评论
回答(3 个)
Azzi Abdelmalek
2016-8-8
编辑:Azzi Abdelmalek
2016-8-8
Edit
D=[110 140 160 225 280 315 355 400 450 500]
Dmin=112
Dmax=356
ii1=find(D>=Dmin,1)
ii2=find(D>=Dmax,1)
out=D(ii1:ii2)
1 个评论
Stephen23
2016-8-8
Note that this method will return an empty vector when Dmax is >= max(D). This might be undesired behavior.
Alexandros Samp
2016-8-8
3 个评论
Stephen23
2016-8-8
编辑:Stephen23
2016-8-9
@Alexandros Samp: Have you actually tried my answer yet? My answer does exactly what you are requesting. Here, I can show you for the third time that it gives you the correct output:
D = [110,140,160,225,280,315,355,400,450,500]
Dmin = 340;
Dmax = 700;
idx = Dmin<=D & [true,D(1:end-1)<=Dmax];
out = D(idx)
and the output:
>> out
out =
355 400 450 500
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!