binsearch.m
来自「这是《Numerical Methods with MATLAB: Imple」· M 代码 · 共 24 行
M
24 行
function ia = binSearch(x,xhat)
% binSearch Binary search to find index i such that x(i)<= xhat <= x(i+1)
%
% Synopsis: i = binSearch(x,xhat)
%
% Input: x = vector of monotonic data
% xhat = test value
%
% Output: i = index in x vector such that x(i)<= xhat <= x(i+1)
n = length(x);
if xhat<x(1) | xhat>x(n)
error(sprintf('Test value of %g is not in range of x',xhat));
end
ia = 1; ib = n; % Initialize lower and upper limits
while ib-ia>1
im = fix((ia+ib)/2); % Integer value of midpoint
if x(im) < xhat
ia = im; % Replace lower bracket
else
ib = im; % Replace upper bracket
end
end % When while test is true, ia is desired index
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?