- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六讲MATLAB
MATLAB的方程(组)解法 第六讲 主要内容 线性方程(组)的解法 非线性方程(组)解法 MATLAB统计分析 简介 线性方程(组) 直接法—在没有舍入的情况下,通过有限步四则运算求得方程组的准确解 迭代法—先给出一个解的初始值,然后按一定的法则逐步求出解的各个更准确的近似值的方法 非线性方程(组) 迭代法—不动点迭代法、Newton迭代法、Broyden Broyden迭代法 线性方程(组)的解法 线性方程的解法 对于线性方程可以直接调用roots函数来求解 例如:求解x3+5x2-8x+6=0 P=[1 5 -8 6]; roots(P) 求解2x9+43x7+x6-8x5+14x4-5x3+x2-10x+12=0 a=[2 0 43 1 -8 14 -5 1 -10 12]; roots(a) 线性方程(组)的解法 线性方程组的解法 直接法—利用符号运算“/”或“\”来求解 直接法一般基于高斯消去法、主元素消去法、平方根法和追赶法等,在MATLAB中这些算法已被编成现成的库函数或运算符,可以直接调用进行求解 线性方程(组)的解法 线性方程组的解法 建立系数矩阵和常数矩阵 A=[2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6] B=[8 9 -5 0] X=A\B 线性方程(组)的解法 线性方程组的解法 利用矩阵的LU、QR和Cholesky分解法求解—这三种方法对求解大型方程组非常有用 优点是运算速度快、可以节省磁盘空间、节省内存 LU分解法—Gauss消去分解,可以把任意矩阵分解为下三角矩阵的基本变换形式和上三角矩阵的乘积 A=LU L为下三角矩阵,U为上三角矩阵 A*X=b变成L*U*X=b—X=U\(L\b) 线性方程(组)的解法 LU分解法 A=[2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6] B=[8 9 -5 0] [L,U]=lu(A) X=U\(L\B) 线性方程(组)的解法 Cholesky分解法 如果A为对称正定矩阵,则Cholesky分解可将矩阵A分解为上三角矩阵和其转置的乘积,即A=R*R,其中R上三角矩阵 A*X=b变成R*R*X=b X=R\(R\b) 举例: A=[16 4 8;4 5 -4;8 -4 22] B=[28 5 26] R=chol(A) X=R\(R\B) 线性方程(组)的解法 QR分解法 对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵,即A=QR A*X=b变成Q*R*X=b X=R\(Q\b) 举例: A=[16 4 8;4 5 -4;8 -4 22] B=[28 5 26] [Q,R]=qr(A) X=R\(Q\B) 线性方程(组)的解法 迭代解法 在MATLAB中迭代法非常适合求解大型系数矩阵的方程组 Jacobi迭代法 Gauss-Serdel迭代法 超松弛迭代法 两步迭代法 线性方程(组)的解法 Jacobi迭代法 线性方程组Ax=b,如果系数矩阵A为非奇异矩阵,则A可写成A=D.L.U的分解形式,其中D为对角矩阵,元素为A的对角元素,L和U分别为严格的下三角矩阵和上三角矩阵,故迭代形式为: xi+1=D-1(L+U)xi+D-1b 对应的Jacobi迭代公式的矩阵为: x(k+1)=Bx(k)+f 式中:B=D-1(L+U)=I-D-1A f=D-1b 线性方程(组)的解法 Jacobi迭代法 举例: A=[10,-1,0;-1 10 -2;0 -2 10]; b=[9;7;6]; jacobi(A,b,[0;0;1]) 线性方程(组)的解法 Gauss-Seidel迭代法 线性方程组Ax=b,Gauss-Seidel迭代形式为: X(k+1)=GX(k)+f 式中:G为Gauss-Seidel迭代矩阵,G=-(D+L)-1b,f= =(D+L)-1b,D为对角矩阵,L和U为严格的下三角和上三角矩阵 编制Gauss-Seidel迭代法的M文件 线性方程(组)的解法 Gauss-Seidel迭代法 举例: A=[10,-1,0;-1 10 -2;0 -2 10]; b=[9;7;6]; GS(A,b,[0;0;0]) 线性方程(组)的解法 SOR迭代法 线性方程组Ax=b,SOR迭代形式为: X(k+1)=B0X(k)+f 式中:B0为SOR迭代矩阵,B0=(D-wL)-1[(1-w)D+wU], f=w(D-wL)-1b D为对角矩阵,L和U为严格的下三角和上三角矩阵 编制SOR迭代法的M文件 线性方程(组)的解法 SOR迭代法 举例: A=[4 3 -1;3 4
文档评论(0)