




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB语言课成论文 利用MATLAB求线性方程组 姓名:郭亚兰 学号:12010245331 专业:通信工程 班级:2010级通信工程一班 指导老师:汤全武 学院:物电学院 完成日期:2011年12月17日利用MATLAB求解线性方程组( 郭亚兰 12010245331 2010 级通信一班 )【摘要】在高等数学及线性代数中涉及许多的数值问题,未知数的求解,微积分,不定积分,线性方程组的求解等对其手工求解都是比较复杂,而MATLAB语言正是处理线性方程组的求解的很好工具。线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。因而,线性代数被广泛地应用于抽象代数和泛函分析中;由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。因而,线性代数被广泛地应用于抽象代数和泛函分析中;由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。线性代数是讨论矩阵理论、与矩阵结合的有限维向量空间及其线性变换理论的一门学科。【关键字】线性代数 MATLAB语言 秩 矩阵 解一、基本概念1、 N级行列式A:A等于所有取自不同性不同列的n个元素的积的代数和。2、 矩阵B:矩阵的概念是很直观的,可以说是一张表。3、 线性无关:一向量组(a1,a2,an)不线性相关,既没有不全为零的数k1,k2,kn使得:k1*a1+k2*a2+kn*an=04、 秩:向量组的极在线性无关组所含向量的个数成为这个向量组的秩。5、 矩阵B的秩:行秩,指矩阵的行向量组的秩;列秩类似。记:R(B)6、 一般线性方程组是指形式:二、基本理论 三种基本变换:1,用一非零的数乘某一方程;2,把一个方程的倍数加到另一方程;3,互换两个方程的位置。以上称出等变换。消元法首先用初等变换化线性方程组为阶梯形方程组:1,如果剩下的方程当中最后的一个等式等于一非零数,那么方程组无解;否则有解;2,如果阶梯形方程组中方程的个数r等于未知量的个数,那么方程组有唯一的解;3,如果阶梯形方程组中方程的个数r小于未知量的个数,那么方程组就有无穷个解。定理1:线性方程组有解的充要条件为:R(A)=R(A,b)线性方程组解的结构:1:对齐次线性方程组,a:两个解的和还是方程组的解;b:一个解的倍数还是方程组的解。定义:齐次线性方程组的一组解u1,u2,ui称为齐次线性方程组的一个基础解系,如果:齐次线性方程组的任一解都表成u1,u2,ui的线性组合,且u1,u2,ui线性无关。2:对非齐次线性方程组 (1)方程组的两个解的差是(2)的解。 (2)方程组的一个解与(2)的一个解之和还是(1)的解。定理2 如果R0是方程组(1)的一个特解,那么方程组(1)的任一个解R都可以表成;R=R0+V. 其中V是(2)的一个解,因此,对方称(1)的任一特解R0,当v取遍它的全部解时,(3)就给出了(1)全部解。三:基本思路 线性方程的求解分为两类:一类是方程求唯一解或求特解;一类是方程组 求无穷解即通解。(1)判断方程组解的情况。1:当R(A)=R(B)时,有解(R(A)=R(A,b))=n 唯一解,R(A)=R(A,b)(n,有无穷解);2:当R(B)+1=R(A,b)时无解。(2)求特解;(3)求通解(无穷解),线性方程组的无穷解=对应齐次方程组的通解+非齐 次方程组的一个特解;注:以上针对非齐次线性方程组,对齐次线性方程组,主要使用到(1),(2)步!四、基本方法基本思路将在解题的过程中得到体现。1、 (求线性方程组的唯一解或特解),这类问题的求法分为两类:一类主要用于解低阶稠密矩阵直接法;一类是解大型稀疏矩阵迭代法。2、 利用矩阵除法求线性方程组的特解(或一个解) 方程:AX=b,解法:X=Ab,(注意此处不是/) (1)求方程组 命令如下: A=2,-1,-1,1;1,1,-2,1;4,-6,2,-2;3,6,-9,7;%产生4x4阶系数矩阵 b=2,4,4,9; %对矩阵进行转置 x=Ab %进行左初运算 x = NaN Inf Inf-3.0000曾介绍过利用矩阵求逆来解线性方程组,即其结果于使用左除是相同的。2、利用矩阵的分解求线性方程组矩阵分解是指根据一定的原理用某种运算将一个矩阵分解成若干个矩阵的乘积。常见矩阵分解如,LU,QR和Cholesky分解求方程组的解,这三种分解,再求大型方程组是很有用。其优点是运算速度快,可以节省磁盘空间,节省内存。(1) LU分解又称Gauss 消去分解,可把任意方阵分解为下三角矩阵的基本变 换形式(行变换)和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角 阵。 则:A*X=b 变成L*U*X=b 所以X=U(Lb) 这样可以大大提高运算速度。 命令 L,U=lu(A) 在matlab中可以编如下通用m文件;在MATLAB建立M文件如下% exp1.mA;b;L,U=lu(A); %产生一个三角矩阵A和一个变换形式的下三叫矩阵L(交 换行),使之满足A=LUX=U(Lb) %L右乘b的结果再右乘U得到x的值(2)求方程组 命令如下:A=1,1,-1,-1;2,-5,3,2;7,-7,3,1; %产生3x4阶系数矩阵 b=1,3,6; %对矩阵进行转置L,U=lu(A); %产生一个三角矩阵A和一个变换形式的 下三叫矩阵L(交换行),使之满足A=LUx=U(Lb) %L右乘b的结果再右乘U得到x的值x = 0.4286 -0.4286 0 0 rank = 2, tol = 6.7642e-015. 采用第二种格式分解,在MATLAB建立M文件如下%exp1.mA;b;L,U,P=lu(A); X=U(LP*b)(3)求方程组 命令如下:A=1,1,-1,-1;2,-5,3,2;7,-7,3,1;%产生3x4阶矩阵b=1,3,7; %对矩阵进行转置L,U,P=lu(A); %产生一个三角矩阵A和一个下三角阵L以 及一个置换矩阵P,使之满足PA=LUx=U(LP*b) %x的值x = 0.6667 -0.3333 0 0 rank = 2, tol = 6.7642e-015.(II)Cholesky分解若A为对成正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其 转置的乘积,即:A=R*R 其中R为上三角矩阵。方程 A*X=b 变成 R*R*X=b 所以 X=R(Rb)在MATLAB中建立M文件如下%exp2.mA;b;R,R=chol(A); %产生一个上三角矩阵R,使RR=AX=R(Rb) %x的值(4)求方程组 命令如下:A=1,-1,-1,1;1,-1,1,-3;1,-1,-2,3; %产生3x4阶的矩阵b=0,1,-0.5; %对矩阵进行转置RR=chol(A); %产生一个上三角矩阵R,使RR=Ax=R(Rb) %x的值? Error using = cholMatrix must be square.命令执行时,此格式将不出现错误信息。当A为对称正定时,则p=0; 否则p为一个正整数。如果X未满秩矩阵,则R为一个阶数为q=p-1的上三角 阵,且满足RR=A(1:q,1:q)。(3)QR分解 对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角 矩阵的初等变换形式,即:A=QR方程 A*X=b 变形成 QRX=b所以 X=R(Qb)上例中 Q,R=qr(A) %产生一个正交矩阵Q和一个上三角矩阵R,使之A=QR X=R(QB) %x的值在MATLAB中建立M文件如下%exp3.mA;b;Q,R=qr(A);X=R(Qb)(5) 求方程组 命令如下:A=4,2,-1;3,-1,2;11,3,0; %产生3x3阶的矩阵 b=2,10,8; %对矩阵进行转置Q,R=qr(A); %产生一个正交矩阵Q和一个上三角矩阵 R,使之满足A=QRx=R(Qb) %x的值x = 1.0e+015 * 1.3238 -4.8539 -4.4126 RCOND = 4.594136e-017.除了用直接方法求解线性方程组的解之外,还可以用迭代法求解。迭代法适合求解大型系数矩阵的方程组。它主要包括Jacobi迭代法,Gauss-Serdel迭代法,超松驰迭代法和两步迭代法。在此只讨论Jacobi与Gauss-Serdel迭代法。1 Gauseidel迭代法用迭代法求解下列线性方程组,迭代初值为0,迭代精度为10e-6。Gauseidel.m函数文件:functiony,n=gauseidel(A,b,x0,eps)if nargin=3 eps =1.0e-6 ; elseif nargin=epsx0=y;y=G*x0+f;n=n+1;End(6)求解方程组 在命令中调用该文件gauseidel.m, 程序如下:A=1,2,1;3,6,-1;5,10,1; %产生一个3*3阶系数矩阵b=1,5,3; %对矩阵进行转置 x,n=gauseidel(A,b,0,0,0,1.0e-6) %调用gauseidel函数x = 0/0 0/0 0/0n =13912Jacobi迭代法Jacobi.m函数文件:functiony,n=jacobi(A,b,x0,eps)if nargin=3 eps=1.0-6 ; %精确度为10e-6elseif nargin=eps x0=y; y=B*x0+f; n=n+1;end 用Jacobi迭代法求解下列线性方程组,迭代初值为0,迭代精度为10e-6。(7)求解方程组 在命令中调用该文件jacobi.m, 程序如下:A=3,-1,0;1,2,-3;0,-1,5; %产生一个3*3阶系数矩阵Ab=6,5,7; %产生矩阵bx,n=jacobi(A,b,0,0,0,1.0e-6) %调用jacobi函数f= 2.0000 2.5000 1.4000n= 1x= NaN NaN NaNn= 1709五、总结 Matlab语言运算以矩阵运算为基础 ,可视化,程序设计有机的融合到一个简单易行的互换式工作环境中,有出色的数值计算功能和强大的图形处理功能,而且简单易学,代码短小高效。线性代数是数学中的一个重要分支,很多理论问题和实际问题都需要借助于线性代数的理论工具来分析解决,而且随着计算机的普及,线性代数被广泛应用于科学,经济,工程和管理等各个领域,同时线性代数也成为高校理工科和经济管理类各专业的一门公共基础课。线性代数课程是由方程Ax=b发展起来的,主要研究线性方程组和二次型,对线性方程组的研究引入了行列式,矩阵,向量。这三块内容是研究线性方程组的三大工具。学习线性代数有两大难点:一是概念,理论抽象,二是计算量大。不过利用Matlab语言,就可以轻松快捷的解决很多线性代数问题。比如说求方阵的逆和行列式,线性方程组中论述的求方阵的逆运算和行列式比较复杂,而在Matlab中,方阵的逆运算只需用函数“inv”即可六、心得体会 通过写本次的论文,我受益匪浅,才发现原来论文的书写格式要求这么严格,以前也没怎么注意格式。由于学的不精,在Matlab软件中编程时出现了好多好多问题,格式上的,大小写,还有软件中的一些特殊用法等等。在多次的修改后才勉强完成这次论文。在学习Matlab的时候,我感觉这个语言要比我们在大一时学的C语言更加方便,实用,虽然各有各的特点。比如在求解不等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渠道管理(第二版)项目一 渠道管理认知(教案)
- 出租车全员安全培训内容课件
- 2025年北京租房合同范本
- 2025【合同范本】电子产品全国总代理合同
- 2025年原材料供应合同
- 2025医院清洁外包服务合同
- 2025汽车销售合同
- 冲击波课件教学课件
- 2025商务合同范本国际设备采购合同
- 2025【合同范本】挂靠合同协议示例
- 多团队协作下的加速康复外科ERAS课件
- 博物馆建筑设计-博物馆建筑设计原理课件
- 《资本论》解读课件
- 【讲座培训】《中小学教育惩戒规则(试行)》解读课件
- 糖尿病酮症酸中毒指南精读
- 建设单位向施工企业施工安全交底
- 2022年二级建造师机电继续教育考试题库及完整答案1套
- 《机械知识》(第六版)电子教案(全)完整版课件整套教学课件
- 政府会计制度应用课件
- 道德与法治教学课件《我的家庭贡献与责任》教学课件(21p)
- 五年级上册美术教学计划
评论
0/150
提交评论