抛物线代码matlab
时间: 2023-12-12 10:34:42 浏览: 48
以下是抛物线法的Matlab代码示例:
```matlab
function x = parabolic(f, a, b, tol)
% f: 目标函数
% a, b: 初始搜索区间
% tol: 精度要求
% 初始化
x1 = a;
x2 = (a + b) / 2;
x3 = b;
f1 = f(x1);
f2 = f(x2);
f3 = f(x3);
% 迭代
while abs(x3 - x1) > tol
A = ((f2 - f1) * (x3 - x2) - (f3 - f2) * (x2 - x1)) / ((x3 - x2) * (x2 - x1) * (x3 - x1));
B = ((f3 - f2) * (x2 - x1) - (f2 - f1) * (x3 - x2)) / ((x3 - x2) * (x2 - x1) * (x3 - x1));
x = (x1 + x2 - B / (2 * A)) / 2;
fx = f(x);
if x < x2
if fx < f2
x3 = x2;
f3 = f2;
x2 = x;
f2 = fx;
else
x1 = x;
f1 = fx;
end
else
if fx < f2
x1 = x2;
f1 = f2;
x2 = x;
f2 = fx;
else
x3 = x;
f3 = fx;
end
end
end
end
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)