liangwy0106 发表于 2009-3-15 10:09

帮我详细解释一下这段代码

有哪位能帮我详细解释一下这段代码啊??
并且在窗口中输入什么信息呢?谢谢啦!!!

function =mulVNewton(F,x0,A,eps)
%方程组:F
%方程组的初始解:x0
% 初始A矩阵:A
%解的精度:eps
%求得的一组解:r
%迭代步数:m
if nargin==2
    A=eye(length(x0)); %A取为单位阵
    eps=1.0e-4;
else
   if nargin==3
         eps=1.0e-4;
   end
end
x0 = transpose(x0);
Fx = subs(F, findsym(F),x0);
r=x0-A\Fx;
m=1;
tol=1;
while tol>eps
    x0=r;
    Fx = subs(F, findsym(F),x0);
    r=x0-A\Fx;
    y=r-x0;
    Fr = subs(F, findsym(F),r);
    z= Fr-Fx;
    A1=A+(z-A*y)*transpose(y)/norm(y);                   %调整A
    A=A1;
    m=m+1;
    if(m>100000)                                 %迭代步数控制
      disp('迭代步数太多,可能不收敛!');
      return;
    end
    tol=norm(r-x0);
end

[ 本帖最后由 ChaChing 于 2009-3-23 13:37 编辑 ]

ChaChing 发表于 2009-3-23 11:24

我想没人天生就会的! 一定得自个儿看些书并试试看!

讨论求知 发表于 2009-5-12 16:52

楼主的不是拟牛顿的迭代程序吗,找本数值书参考一下啊

zz80 发表于 2009-5-12 21:50

嗯,有帮助,收藏
页: [1]
查看完整版本: 帮我详细解释一下这段代码