- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算方法课程设计
1
2020 年 4 月 19 日
文档仅供参考
《数值计算方法》课程设计
非线性方程(组)的解法
问题的提出
分析比较 Newton 法、 Newton 法的变形格式。然后分别用 Newton
法、简化 Newton 法、选取不同的初值求解下面方程组,对于相同
的精度要求,比较这两种方法的运行时间。
f1 (x1 , x2 ) x1
2x2
3 0
f 2 ( x1, x2 ) 2x12
x22
5 0
背景分析
牛顿法是一种重要迭代法,她是逐步线性化方法的典型代表,牛
顿法的特点是每一步都需要计算 f (x(k ) ) 以及 f ( x(k) ) ,其计算量比较
大,为了减少计算量,提出简化牛顿法。
算法思想
1、牛顿法
设有非线性方程组
F (x)
0
其中F (x) ( f1( x), f2 ( x),...,
f k ( x))T
由 fi ( x) 偏导数作成的矩阵记为
J (x) ,称为 F (x) 的雅克比矩阵
f1 (x)
f1 (x)
f1 ( x)
x1
...
xn
x2
f2 (x)
f 2 ( x)
f2 (x)
J (x)
...
xn
x1
x2
... ... ...
2
2020 年 4 月 19 日
文档仅供参考
fn (x)
fn (x)
...
fn (x)
x1
x2
xn
设 x* 为 F ( x)
0
的解,且 x(k )
( x1
(k) , x2
( k) ,..., xn (k) ) 为 x* 的近似解。 利
用多元函数
fi ( x) 在 x(k ) 点的泰勒公式有
f
( x)
f
(k )
) (x
(k )fi ( x(k ) )
... (x
x
( k)
fi (x( k ) )
1 n
( x
x
(k )
)( x
x
(k)
) ?
2 fi (C i )
(x
x
)
n
)
j
j
l
P ( x) R(i 1,2,..., n)
x1
xn
2 j , l 1
xj xl
其中, Ci 在 x(k ) 与 x 的所 的 段内。
如果用上式中的 性函数
P (x)
近似替代
f
( x)
,并将 性方程
i
i
Pi ( x) f i ( x
(k )
)
(x1
(k)
fi
(x(k ) )
(xn
xn
(k)
fi
(x(k ) )
?..(1)
x1
)
...
)
0
x1
xn
的解作 x* 的第 k
1 次近似解 x( k
1)
将( 1)式写成矩 形式,即
F (x(k ) )
J( x(k ) )( x
x(k ) )
0
J ( x(k) ) 非奇异矩 , 牛 迭代公式:
x(0)
???????????(2)
x(k 1)
x(k )
J (x(k ) )
1
* F ( x(k ) )
(k
0,1,2
)
求解非 性方程
F ( x)
0 牛 方法
x(0)
(k) V
( k)
(k )
)
J ( x
)
x
F ( x
x(k 1)
x(k )
Vx(k)
2、 化牛 法
在牛 法的基 上, 了减少 算量,将
J (x(k ) ) 均取 J ( x(0) ) ,得
如下 化牛 公式:
x(0)
???????(3)
x(k 1)
x(k )
J (x(0)
1
)
* F ( x( k ) )
(k
0,1,2
)
3
2020 年 4 月 19
日
文档仅供参考
其中( 2)( 3)式均为线性收敛的。
算法设计
将一个非线性方程组写成向量的形式有:
F(x) = 0
牛顿迭代法的公式就是:
x(k+1)=x(k)-F’(k)(x)-1F(x(k))
其中 ’(k) 为 矩阵,我写的这段程序就是根据这个公式 F (x) Jacobi
来的。
运用 MATLAB 中的 jacobian 求出 F 的雅克比矩阵,用 inv 求逆
matrix=@(varargin)[varargin{:}] 构造迭代函数
在比较牛顿法和简化牛顿法运行时间方面,我们主要是经过比较
迭代次数。
程序清单
牛顿法源程序:
function x=newton_solve(F,v,x0,e)
if (~ischar(F) || ~ischar(v)) %定义类型
error(Parameter F and v should be char type! );
end
if (~isnumeric(x0) || ~isnumeric(e))
error(Parameter x0 and e should be numeric type! );
4
2020 年 4 月 19 日
文档仅供参考
end
F=sym(F);v=sym(v);
dF=jacobian
原创力文档


文档评论(0)