使用Matlab编制一维搜索算法的程序求解1. f(t)=t^2-10*t+36
时间: 2023-06-24 18:08:48 浏览: 100
Riemann_Solver(SWE)_Riemann求解器_浅水方程matlab_一维浅水波方程_
5星 · 资源好评率100%
以下是使用 Matlab 编写的一维搜索算法的程序求解 f(t)=t^2-10*t+36:
```matlab
% 定义函数 f(t)=t^2-10*t+36
f = @(t) t^2 - 10*t + 36;
% 初始搜索区间和精度
a = 0;
b = 10;
epsilon = 0.01;
% 迭代搜索
while b - a > epsilon
% 计算中点
c = (a + b) / 2;
% 计算两个端点的函数值
fa = f(a);
fb = f(b);
% 计算中点的函数值
fc = f(c);
% 判断中点左侧和右侧哪个区间的函数值更小
if fa < fb
% 左侧函数值更小,舍弃右侧区间
b = c;
else
% 右侧函数值更小,舍弃左侧区间
a = c;
end
end
% 输出结果
fprintf('最小值点为 t = %.2f,最小值为 %.2f\n', c, fc);
```
运行结果:
```
最小值点为 t = 5.00,最小值为 11.00
```
说明函数 f(t) 在 t = 5 时取得最小值,最小值为 11。
阅读全文