+1≈1.618
matlab编程实现
%% 割线法例子
f = @(x) x-sin(x)-0.5;
[x,e,i] = cutSolve(f,1.4, 1.6, 0.01, 100)
%% 双点割线法
% 输入函数,根所在的区间下限上限,精度,最大迭代次数
% 输出根,根的值,迭代次数
function [x,e,i] = cutSolve(f,a,b,eps,max_iter)
x0 = a;
x1 = b;
for i = 1:max_iter
x = -f(x0)*(x1-x0)/(f(x1)-f(x0))+x0
if abs(x-x1)<=eps
e = abs(f(x));
break;
end
x0=x1;
x1=x;
end
end
单点割线法
固定初始点,有
x
k
+
1
=
x
k
−
f
(
x
k
)
x
k
−
x
0
f
(
x
k
)
−
f
(
x
0
)
x_{k+1}=x_k-f(x_k) frac{x_k-x_{0}}{f(x_k)-f(x_{0})}
xk+1=xk−f(xk)f(xk)−f(x0)xk−x0
算是一种不动点迭代。
原文地址:https://blog.csdn.net/lafea/article/details/135420574
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_55678.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!