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

📄 bisect.m

📁 数值分析, 同济大学教材<<现代数值数学和计算>>数值分析课程所有算法的matlab代码,所有例程均经过测试,私家珍藏
💻 M
字号:
function [c, err, yc] = bisect(f, a, b, tol)

if nargin < 4
  delta = 1e-5;
end

if a > b 
  tmp = a;
  a = b;
  b = tmp;
end
ya = feval(f, a);
yb = feval(f, b);
if (ya == 0)
  c = a;
  return;
end
if (yb == 0)
  c = b;
  return;
end
if ya * yb > 0
  disp('Invalid margin.');
  return;
end

while b - a > tol
  c = (a + b) / 2;
  yc = feval(f, c);
  if yc * ya == 0 
    c = h;
    break;
  elseif yc * ya > 0
    a = c;
    ya = yc;
  else
    b = c;
  end
end
err = abs(b - a);
yc = feval(f, c);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -