⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bisect1.m

📁 数值分析, 同济大学教材<<现代数值数学和计算>>数值分析课程所有算法的matlab代码,所有例程均经过测试,私家珍藏
💻 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 + -