matlab 实现二分法
时间: 2023-11-21 17:57:32 浏览: 120
以下是在MATLAB中实现二分法的示例代码:
```matlab
% 定义函数
f = @(x) x^3 - x - 1;
% 定义二分法函数
function [c, n] = bisection(f, a, b, tol)
% 输入:
% f - 函数句柄
% a, b - 初始区间
% tol - 精度要求
% 输出:
% c - 近似解
% n - 迭代次数
% 初始化
n = 0;
c = (a + b) / 2;
% 迭代
while (b - a) / 2 > tol
n = n + 1;
if f(c) == 0
return
elseif f(a) * f(c) < 0
b = c;
else
a = c;
end
c = (a + b) / 2;
end
end
% 调用二分法函数
[c, n] = bisection(f, 1, 2, 1e-4);
% 输出结果
fprintf('近似解为 %f,迭代次数为 %d\n', c, n);
```
该代码定义了一个函数句柄 `f`,并定义了一个名为 `bisection` 的二分法函数。在主程序中,我们调用 `bisection` 函数,并将函数句柄 `f`、初始区间 `[1, 2]` 和精度要求 `1e-4` 作为参数传递给它。最后,我们输出近似解和迭代次数。
阅读全文