MATLAB解方程与最优化问题求解

MATLAB解方程与最优化问题求解

ID:36841539

大小:817.00 KB

页数:86页

时间:2019-05-10

MATLAB解方程与最优化问题求解_第1页
MATLAB解方程与最优化问题求解_第2页
MATLAB解方程与最优化问题求解_第3页
MATLAB解方程与最优化问题求解_第4页
MATLAB解方程与最优化问题求解_第5页
资源描述:

《MATLAB解方程与最优化问题求解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB程序设计教程(第二版)刘卫国主编中国水利水电出版社第6章MATLAB解方程与最优化问题求解MATLAB线性方程组求解MATLAB非线性方程数值求解MATLAB常微分方程初值问题的数值解法MATLAB最优化问题求解背景经济与工程中的许多问题最后都可以转化为求解线性方程组许多数值计算问题(如样条函数、常微分方程数值解、差分方程等)的研究也往往归结为此类问题线性方程组的数值法直接法——经过有限次算法运算求出精确解,最常用的是:高斯消元法、矩阵LU分解迭代法——从初值出发,用递推的方法,给出近似解序列。常用的方法:雅可比迭代法、高斯-赛德尔迭代法。列昂

2、杰夫的“投入-产出”模型:列昂惕夫用线性代数研究经济数学模型,1949年曾用计算机计算出了由美国统计局的25万条经济数据所组成的42个未知数42个方程的方程组。投入产出分析的方法基础包括:线性方程组和矩阵运算(静态模型)、微分方程和差分方程(动态模型)、电子计算机。第三章矩阵代数设有n个经济部门,xi为部门i的总产出,cij为部门j单位产品对部门i产品的消耗,di为外部对部门i的需求,fj为部门j新创造的价值。分配平衡方程组消耗平衡方程组i=1,2,…,n第三章矩阵代数投入产出分析令C=(cij),X=(x1,…,xn)',D=(d1,…,dn)’,F=(

3、f1,…,fn)’,则X=CX+D令A=E-C,E为单位矩阵,则AX=DC称为直接消耗矩阵A称为列昂杰夫(Leontief)矩阵。7/25/20217第三章矩阵代数Y=[1,1,…,1]BY表示各部门的总投入,称为投入向量。新创造价值向量F=X–Y'B=CB表示各部门间的投入产出关系,称为投入产出矩阵。其中常数项所谓一般线性方程组是指具有形式:由m个方程n个未知量的线性方程构成的方程组矩阵形式:6.1线性方程组求解6.1.1直接解法1.利用左除运算符的直接解法对于线性方程组可以利用左除运算符“”求解:x=Ab;(1)若A为n×n方阵,自动利用高斯消元法

4、求解,若b是n×1的列向量,则解x为n×1的列向量,若b是n×m的矩阵,可得到m个以A为系数矩阵的线性方程组的数值解x(n×m的矩阵),即x(:,j)=Ab(:,j),j=1,2,…,m.(2)当A不是方阵时,Ax=b称为欠定方程组或超定方程组,MATLAB会在最小二乘意义下解例6-1用直接解法求解下列线性方程组。命令如下:A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';%右边常数项应该是列向量x=Ab2.利用矩阵的分解求解线性方程组矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干

5、个矩阵的乘积。常见的矩阵分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等。优点:运算速度快,节省存储空间(1)LU分解矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式。线性代数中已经证明,只要方阵A是非奇异的,LU分解总是可以进行的。MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格式为:(1)[L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须是方阵。此时矩阵L往往不是下三角阵,但通过行交换后使

6、之成为一个下三角阵(2)[L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须是方阵。实现LU分解后,线性方程组Ax=b的解x=U(Lb)或x=U(LPb),这样可以大大提高运算速度。矩阵LU分解,设命令如下:A=[1,-1,1;5,-4,3;2,1,1];[L,U]=lu(A)%第(1)种格式LU=L*U%检验分解是否正确[L,U,P]=lu(A)LU=L*U%检验分解是否正确LU=inv(P)*L*U%检验分解是否正确例6-2用LU分解求解例6-1中的线性方程组。命令如下:A=[

7、2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';[L,U]=lu(A);x=U(Lb)%或采用LU分解的第2种格式,命令如下:[L,U,P]=lu(A);x=U(LP*b)(2)QR分解对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为:(1)[Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。(2)[Q,R,E]=qr(X):产生一个一个正交矩阵

8、Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。实现Q

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。