声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 993|回复: 3

[综合讨论] 帮我详细解释一下这段代码

[复制链接]
发表于 2009-3-15 10:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

function [r,m]=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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-23 11:24 | 显示全部楼层
我想没人天生就会的! 一定得自个儿看些书并试试看!
发表于 2009-5-12 16:52 | 显示全部楼层
楼主的不是拟牛顿的迭代程序吗,找本数值书参考一下啊

评分

1

查看全部评分

发表于 2009-5-12 21:50 | 显示全部楼层
嗯,有帮助,收藏
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 04:21 , Processed in 0.085760 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表