解方程——不动点迭代

定义:如果g(r)=r,那么实数r是函数g的一个不动点。

如果我们有方程f(x)=0,表示为不动点问题时,有:g(x)=x   (注:f(x)=g(x)-x)

不动点r是方程f(x)=0的一个根,几何表示为y=g(x)与y=x的交点就是不动点r

算法分析:x0 = 初始设定值

              x1 = g(x0)

              x2 = g(x1)

              x3 = g(x2)

               ...    ...

             x(k+1) = g(x(k))  

直到收敛至g(r) = g(lim x(i)) = lim x(i+1) = r

matlab代码实现:

%使用本函数需要一个事先建立的内联函数g
function xc = fpi (g,x0,k)
x(1) = x0;
for i = 1:k
    x(i+1) = g(x(i));
end
x' %x用列显示
xc = x(k+1);

 

posted @ 2014-12-04 21:45  Pony_wang  阅读(3157)  评论(0编辑  收藏  举报