Determining the appropriate range for the given number.
1 view (last 30 days)
Show older comments
Alok Kumar Dubey
on 22 Mar 2019
Commented: Alok Kumar Dubey
on 22 Mar 2019
I want to know, if I have a number such as 1.5 and I have 120 equal segments of number-line from 0.00 to 6.00 how can I determine in which segment this number (in this case 1.5) can be placed. I know I can use 'if-elseif' but for checking 120 case with 'if-elseif' seems very difficult. Is there any other way to do it?
0 Comments
Accepted Answer
KSSV
on 22 Mar 2019
Edited: KSSV
on 22 Mar 2019
x = 1:120 ;
y = linspace(0.,6,120) ;
xi = 1.5 ;
yi = floor(interp1(y,x,xi)) ;
fprintf('%f should be placed between %f and %f\n',xi,y(yi),y(yi+1))
OR:
x = linspace(0.,6,120) ;
xi = 1.5 ;
[val,idx] = min(abs(x-xi)) ;
fprintf('%f should be placed between %f and %f\n',xi,x(idx-1),x(idx))
OR:
x = linspace(0.,6,120) ;
xi = 1.5 ;
idx = knnsearch(x',xi) ;
fprintf('%f should be placed between %f and %f\n',xi,x(idx-1),x(idx))
More Answers (0)
See Also
Categories
Find more on Time Series Events in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!