- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB解方程与函数极值
1.解方程
1.1 线性方程组求解
(1) 左除运算符的直接解法
x=A\b
(2) 用矩阵的分解求解线性方程组
① LU分解
矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式。线性代数中已经证明,只要方阵A是非奇异的,LU分解总是可以进行的。
[L,U]=lu(A):产生一个上三角阵U和一个变换形式的下三角阵L,使之满足X=LU。注意,这里的矩阵X必须是方阵。
[L,U,R]=lu(A):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵R,使之满足RX=LU。当然矩阵X同样必须是方阵。
实现LU分解后,线性方程组Ax=b的解x=U\(L\b)或x=U\(L\Rb),这样可以大大提高运算速度。
A=[1 2 3;4 5 6;9 8 10];
b=[2;5;-6];
[L,U]=lu(A);
L,U
x=U\(L\b)
L =
0.1111 0.7692 1.0000
0.4444 1.0000 0
1.0000 0 0
U =
9.0000 8.0000 10.0000
0 1.4444 1.5556
0 0 0.6923
x =
-4.6667
10.3333
-4.6667
或采用LU分解的第2种格式,命令如下:
[L,U,R]=lu(A)
x=U\(L\R*b)
L =
1.0000 0 0
0.4444 1.0000 0
0.1111 0.7692 1.0000
U =
9.0000 8.0000 10.0000
0 1.4444 1.5556
0 0 0.6923
R =
0 0 1
0 1 0
1 0 0
x =
-4.6667
10.3333
-4.6667
② QR分解
对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。
[Q,R]=qr(A):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。
[Q,R,E]=qr(A):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。
实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)或x=E(R\(Q\b))。
A=[1 2 3;4 5 6;9 8 10];
b=[2;5;-6];
[q,r]=qr(A);
q,r
x=r\(q\b)
dot(q(:,1),q(:,2))
dot(q(:,1),q(:,3))
dot(q(:,3),q(:,2))
q =
-0.1010 -0.6180 -0.7797
-0.4041 -0.6907 0.5998
-0.9091 0.3756 -0.1799
r =
-9.8995 -9.4954 -11.8188
0 -1.6843 -2.2416
0 0 -0.5398
x =
-4.6667
10.3333
-4.6667
ans =
-2.2204e-016
ans =
-1.6653e-016
ans =
-1.3878e-016
或采用QR分解的第2种格式
[Q,R,E]=qr(A);
x=E*(R\(Q\b))
x =
-4.6667
10.3333
-4.6667
(3) 迭代解法
迭代解法非常适合求解大型系数矩阵的方程组。在数值分析中,迭代解法主要包括 Jacobi迭代法、Gauss-Serdel迭代法、超松弛迭代法和两步迭代法。
Jacobi迭代法
对于线性方程组Ax=b,如果A为非奇异方阵,即aii≠0(i=1,2,…,n),则可将A分解为A=D-L-U,其中D为对角阵,其元素为A的对角元素,L与U为A的下三角阵和上三角阵,于是Ax=b化为:
x=D-1(L+U)x+D-1b
与之对应的迭代公式为:
x(k+1)=D-1(L+U)x(k)+D-1b 这就是Jacobi迭代公式。
A=[10,-1,5;-1,10,-2;6,-4,50];
b=[9 7 6
文档评论(0)