📄 bisect1.m
字号:
function [c, err, yc] = bisect1(f, a, b, delta)
if nargin < 4
delta = 1e-5;
end
ya = feval(f, a);
yb = feval(f, b);
if yb == 0
c = b;
return;
end
if ya * yb > 0
disp('Invalid margin.');
return;
end
maxn = 1 + round((log(b-a) - log(delta)) / log(2));
for k = 1 : maxn
c = a/2 + b/2
yc = feval(f, c);
if 0 == yc
a = c;
b = c;
break;
elseif yb * yc > 0
b = c;
yb = yc;
else
a = c;
ya = yc;
end
if (b - a) < delta
break;
end
end
k, c = a / 2 + b / 2, err = abs(b - a), yc = feval(f, c)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -