矩阵方程求解方法-矩阵解题

矩阵方程求解方法-矩阵解题
矩阵方程求解方法-矩阵解题

矩阵方程求解方法

本文所述的矩阵方程是指形如Ax=b的方程,其中A是一个mxn的矩阵,称为方程的系数

矩阵。x和b是mx1的矩阵。特别的,当b=0时,这种方程又称为齐次方程。本文将讨论

这种矩阵的有解条件和求解方法。

矩阵方程的有解条件

为了解释矩阵方程的有解条件,我们首先要熟悉一些概念。

一个矩阵方程的增广矩阵是系数矩阵A和b并在一起构成的矩阵,记作(A,b)。

假定 , ,则矩阵方程的增广矩阵就是

矩阵的秩定义为其行向量中极大线性无关组中包含向量的个数,等价的说法是,矩阵的秩

是r,则矩阵通过行列初等变换,变换成左上角是一个r阶单位矩阵,其他都是0的矩阵。矩阵A的秩记作r(A),其中r是英文单词rank的缩写。

有了这两个基本概念,我们就可以准确描述矩阵方程的有解条件了:矩阵方程Ax=b的有

解条件是矩阵A的秩等于增广矩阵(A,b)的秩,也就是r(A)=r(A,b)。

证明很简单,既然矩阵A的秩是r,那么肯定可以找到两个可逆的矩阵P,Q,满足

--1)

其中I r表示r阶单位矩阵。

应用到原来的方程,可以得到:

--2)

我们把Q-1x当作一个未知的变量,PAQ当作系数,这就构成一个新的矩阵方程。而这个矩

阵方程的左侧系数除了前r行是有1的之外,其余行是0。为了它有解,Pb的后m-r行必

须也是0。这样(A,b)的秩必然是r。

必须注意到Q-1是可逆的,因此以Q-1x为未知变量的方程有解意味着以x为未知变量的原

方程也是有解的。

矩阵方程的解

对于矩阵方程Ax=b,如果满足r(A)=r(A,b),则矩阵方程是有解的。为了求它的解,我们首先把矩阵方程通过行列初等变换变化成前文2)式的形式,代入1)式后得到:

--3)

其中Q-1x和Pb是一个列向量,我们可以把它们分割成rx1和(n-r)x1的两个矩阵,分别记作x’1和x’2,及b’1和b’2。则很显然我们可以得到:

--4)

很显然,b’2必须为0,因为展开后b’2等于0 x’1 +0 x’2 =0

而由4式可以看出,x’1= b’1,x’2可以为任意向量。

所以方程最后的解为:

--5)

从解的形式可以看出解空间有如下特性:

1.方程Ax=b的解空间的秩是n-r(A)

2.如果A是满秩的,则方程的解唯一。

矩阵方程求解方法

矩阵方程求解方法 本文所述的矩阵方程是指形如Ax=b的方程,其中A是一个mxn的矩阵,称为方程的系数 矩阵。x和b是mx1的矩阵。特别的,当b=0时,这种方程又称为其次方程。本文将讨论 这种矩阵的有解条件和求解方法。 矩阵方程的有解条件 为了解释矩阵方程的有解条件,我们首先要熟悉一些概念。 一个矩阵方程的增广矩阵是系数矩阵A和b并在一起构成的矩阵,记作(A,b)。 假定 , ,则矩阵方程的增广矩阵就是 矩阵的秩定义为其行向量中极大线性无关组中包含向量的个数,等价的说法是,矩阵的秩 是r,则矩阵通过行列初等变换,变换成左上角是一个r阶单位矩阵,其他都是0的矩阵。矩阵A的秩记作r(A),其中r是英文单词rank的缩写。 有了这两个基本概念,我们就可以准确描述矩阵方程的有解条件了:矩阵方程Ax=b的有 解条件是矩阵A的秩等于增广矩阵(A,b)的秩,也就是r(A)=r(A,b)。 证明很简单,既然矩阵A的秩是r,那么肯定可以找到两个可逆的矩阵P,Q,满足 --1) 其中I r表示r阶单位矩阵。 应用到原来的方程,可以得到: --2) 我们把Q-1x当作一个未知的变量,PAQ当作系数,这就构成一个新的矩阵方程。而这个矩 阵方程的左侧系数除了前r行是有1的之外,其余行是0。为了它有解,Pb的后m-r行必 须也是0。这样(A,b)的秩必然是r。 必须注意到Q-1是可逆的,因此以Q-1x为未知变量的方程有解意味着以x为未知变量的原 方程也是有解的。

矩阵方程的解 对于矩阵方程Ax=b,如果满足r(A)=r(A,b),则矩阵方程是有解的。为了求它的解,我们首先把矩阵方程通过行列初等变换变化成前文2)式的形式,代入1)式后得到: --3) 其中Q-1x和Pb是一个列向量,我们可以把它们分割成rx1和(n-r)x1的两个矩阵,分别记作x’1和x’2,及b’1和b’2。则很显然我们可以得到: --4) 很显然,b’2必须为0,因为展开后b’2等于0 x’1 +0 x’2 =0 而由4式可以看出,x’1= b’1,x’2可以为任意向量。 所以方程最后的解为: --5) 从解的形式可以看出解空间有如下特性: 1.方程Ax=b的解空间的秩是n=r(A) 2.如果A是满秩的,则方程的解唯一。

matlab中的矩阵的基本运算命令范文

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

矩阵运算与方程组求解

附录Ⅰ 大学数学实验指导书 项目五 矩阵运算与方程组求解 实验1 行列式与矩阵 实验目的 掌握矩阵的输入方法. 掌握利用Mathematica (4.0以上版本) 对矩阵进行转置、加、减、 数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式. 基本命令 在Mathematica 中, 向量和矩阵是以表的形式给出的. 1. 表在形式上是用花括号括起来的若干表达式, 表达式之间用逗号隔开. 如输入 {2,4,8,16} {x,x+1,y,Sqrt[2]} 则输入了两个向量. 2. 表的生成函数 (1) 最简单的数值表生成函数Range, 其命令格式如下: Range[正整数n]—生成表{1,2,3,4,…,n }; Range[m, n]—生成表{m ,…,n }; Range[m, n, dx]—生成表{m ,…,n }, 步长为d x . 2. 通用表的生成函数Table. 例如,输入命令 Table[n^3,{n,1,20,2}] 则输出 {1,27,125,343,729,1331,2197,3375,4913,6859} 输入 Table[x*y,{x,3},{y,3}] 则输出 {{1,2,3},{2,4,6},{3,6,9}} 3. 表作为向量和矩阵 一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵 ??? ? ??5432 可以用数表{{2,3},{4,5}}表示. 输入 A={{2,3},{4,5}} 则输出 {{2,3},{4,5}}

命令MatrixForm[A]把矩阵A 显示成通常的矩阵形式. 例如,输入命令: MatrixForm[A] 则输出 ??? ? ??5432 注:一般情况下,MatrixForm[A]所代表的矩阵A 不能参与运算. 下面是一个生成抽象矩阵的例子. 输入 Table[a[i,j],{i,4},{j,3}] MatrixForm[%] 则输出 ???? ?? ? ??]3,4[]2,4[]1,4[]3,3[]2,3[]1,3[]3,2[]2,2[]1,2[]3,1[]2,1[]1,1[a a a a a a a a a a a a 注:这个矩阵也可以用命令Array 生成,如输入 Array[a,{4,3}]//MatrixForm 则输出与上一命令相同. 4. 命令IdentityMatrix[n]生成n 阶单位矩阵. 例如,输入 IdentityMatrix[5] 则输出一个5阶单位矩阵(输出略). 5. 命令DiagonalMatrix[…]生成n 阶对角矩阵. 例如,输入 DiagonalMatrix[{b[1],b[2],b[3]}] 则输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}} 它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵. 6. 矩阵的线性运算:A+B 表示矩阵A 与B 的加法;k*A 表示数k 与矩阵A 的乘法; A.B 或 Dot[A,B]表示矩阵A 与矩阵B 的乘法. 7. 求矩阵A 的转置的命令:Transpose[A]. 8. 求方阵A 的n 次幂的命令:MatrixPower[A,n]. 9. 求方阵A 的逆的命令:Inverse[A]. 10.求向量a 与b 的内积的命令:Dot[a,b]. 实验举例 矩阵的运算

矩阵在解线性方程组中的应用

矩阵在解线性方程组中的应用 摘要 线性方程组的求解是代数学中一个比较重要的内容. 线性方程组求解过程中,掌握各种求解线性方程组的方法是至关重要的. 基于线性方程组和矩阵之间的联系,可以用线性方程组系数和常数项所构成的行列式矩阵来研究线性方程组的求解问题. 本文主要讨论矩阵的秩在方程组的解的判断中的应用、矩阵的初等变换在解线性方程组中的应用. 关键词: 矩阵;线性方程组;矩阵的秩;初等变换

The Application of Matrix in Solving Linear Equations ABSTRACT The solution of linear equations is an important part of algebra.In the process of solving line ar equations,it is very important to master various methods of solving linear equations.Based on the relationship between linear equations and matrix,the determinant matrix composed of coefficient and constant term of linear equations can be used to study the solution of linear equations. This paper mainly discusses the application of the rank of matrix in the judgment of the solution of equations and the application of the elementary transformation of matrix in the solution of linear equations. Keywords: matrix;linear;equations;rank of matrix;elementary transformation

用矩阵的初等变换求逆矩阵

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式求逆矩阵,但当矩阵A的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢?(饿了再吃) 二、求逆矩阵方法的推导(“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理对mxn矩阵A,施行一次初等行变换,相当于在A的左边乘以相应m阶初等矩阵;对A施行一次初等列变换,相当于在A的右边乘以相应的n阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理的推论A可逆的充要条件为A可表为若干初等矩阵之积。即 4.推论 A可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A可逆,构造分块矩阵(A︱E),其中E为与A同阶

的单位矩阵,那么 (2) 由(1)式代入(2)式左边, 上式说明分块矩阵(A︱E)经过初等行变换,原来A的位置变换为单位阵E,原来E的位置 A ,即 变换为我们所要求的1 三,讲解例题 1. 求逆矩阵方法的应用之一 例 解: 四,知识拓展 2.求逆矩阵方法的应用之二 利用矩阵的初等行变换也可以判断一个矩阵是否可逆,即分块矩阵(A︱E)经过初等行变换,原来A的位置不能变换为单位阵E,那么A不可逆。

Hilbert矩阵病态线性代数方程组的求解

实验一病态线性代数方程组的求解 1.估计Hilbert矩阵2-条件数与阶数的关系 运行tiaojianshu.m 输入m=10 可以得到如下表的结果 2.选择不同维数,分别用Guass消去(LU分解),Jacobi迭代,GS 迭代,SOR迭代求解,比较结果。 说明:Hx=b,H矩阵可以由matlab直接给出,为了设定参考解,我们先设x为分量全1的向量,求出b,然后将H和b作为已知量,求x,与设定的参考解对比。 对于Jacobi迭代,GS迭代,SOR迭代,取迭代初值x0为0向量,迭代精度eps=1.0e-6,迭代次数<100000, SOR迭代中w=1.2和0.8分别计算。 a. n=5 b. n=8

c. n=10 d. n=15

取不同的n值,得到如下结果: 对于Guass法,可以看出来,随着n的增大,求解结果误差变大,这是因为随着n增大,系数矩阵的条件数变大,微小的扰动就容易造成很大的误差。最后得不到精确解。 对于Jacobi迭代,计算结果为Inf,说明是发散的。 对于GS迭代和SOR迭代,结果是收敛的,但是可以看出迭代次数比较多,并且对于不同维数GS和SOR收敛速度不一样,有时候GS快,有时SOR快。对SOR取不同的w迭代速度也不一样,存在一个最优的松弛因子w。并且可以知道,迭代次数多少跟初值x0也有关系。 3.讨论病态问题求解的算法。 通过上面的实验分析,可以看出,求解病态矩阵的时候要小心,否则可能得不到所要求的精确度。可以采用高精度运算,用双倍多倍字长,使得由于误差放大而损失若干有效数字位之后,还能保留一些有效位。 另外可以通过对原方程作某些预处理,降低系数矩阵的条件数,因为cond(aA)=cond(A),所以不能通过将每一个方程乘上相同的常数来达到这个目标,可考虑将矩阵的每一行和每一列分别乘上不同的常数,亦即找到可逆的对角阵D1和D2将方程组化为 D1AD2y=D1b,x=D2y 这称为矩阵的平衡问题,但是这样计算量比原问题本身要多。 或者通过变分原理将求解线性方程组的问题转化为等价的求解无约束函数最优化问题的极小值等等,可以参考 [1]郑洲顺,黄光辉,杨晓辉求解病态线性方程组的混合算法

矩阵在MATLAB中的运算与应用

矩阵在MATLAB中的运算与应用 摘要:介绍了Matlab在矩阵运算方而的功能。演示了用Matlab构造矩阵,获取矩阵的相关信息,进行矩阵运算的方法,对矩阵运算进行了分析,对矩阵作图进行了研究。 关键词:矩阵;Matlab 1 引言 Matlab的含义是矩阵实验室( Matrix Laboratory) ,是由美国Mathwork公司于1984年推出的一套高性能的数值计算和可视化软件[1]。现在,它己发展为国际上最优秀的科技应用软件。如果能将它用到相关学科课的学习上无疑是非常有意义的。Matlab赋予学习者一个可实验的环境,一个强大的数值计算和分析及可视化(图形)工具。矩阵论是高等院校理、工科研究生的一门重要基础课程。有人认为“科学计算,归根结底就是矩阵的计算”[2]。因此,对于将来从事科学技术工作的研究生来说,矩阵理论和方法是必不可少的数学工具。矩阵的理论和方法在数学和其他学科中都具有重要的意义,但许多学生无法克服矩阵庞大的计算量带来的恐惧,从而丧失了学习的兴趣和动力。本文展示了如何方便地用Matlab构造矩阵,获取矩阵的相关信息以及完成矩阵的运算,展示了矩阵的结构和运算,以此来说明在机器计算环境中,庞大复杂的计算不再是令人头疼的事情。 2矩阵及其运算 矩阵是进行数据处理和运算的基本元素。在MATLAB中: a、通常意义上的数量(标量)可看成是“1*1”的矩阵; b、n维矢量可看成是“n*1”的矩阵; c、多项式可由它的系数矩阵完全确定。 2.1 矩阵的创建 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在“[ ]”内; b、矩阵的同行元素之间用空格(或“,”)隔开; c、矩阵的行与行之间用“;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 2.1.1 直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是

矩阵方程的解法

矩阵方程的解法 本文首先介绍了行对称矩阵的定义及性质,利用矩阵的广义逆,奇异值分解,给出了矩阵方程AX=B有行对称解的充分必要条件及有解时通解的表达式;并给出了矩阵方程解集合中与给定矩 阵的最佳逼近解的表达式。最后利用奇异值分解给出了矩阵方程 有行对称解的充分必要条件及有解时通解的表达式。矩阵方程问 题是指在满足一定条件的矩阵集合中求矩阵方程的解的问题。不 同的约束条件,不同的矩阵方程,就导致了不同的约束矩阵方程 问题。约束矩阵方程问题在结构设计,参数识别,主成分分析, 勘测,遥感,生物学,电学,固体力学,结构动力学,分子光谱学,自动控制理论,振动理论,循环理论等领域都有重要应用。 约束矩阵方程问题的内容非常广泛、约束矩阵方程问题又分为线性约束矩阵方程问题和非线性约束矩阵方程问题、有关线性约束矩阵方程问题的研究成果相当丰富、其中最简单的矩阵方程AX = B是研究最透彻的一类问题、求解线性矩阵方程一般会遇到两种情况:一是当矩阵方程有解时,如何求它的解及最佳逼近;二是 当矩阵方程无解时,如何求它的最小二乘解。对于本文所研究的AX= B、这两类简单矩阵方程,国内外学者已经作了大量研究。都在相应的文献中对其进行了大量的研究,解决了求此方程的一些 约束解和最小二乘解的问题。自从针对工程应用领域提出了行对

称矩阵概念之后,这方面研究已经取得了一些成果,如对行对称矩阵的一些性质,行对称矩阵的QR分解。本文先对行对称矩阵进行介绍,再将行对称矩阵与约束矩阵方程结合起来,先研究了矩阵方程AX=B有行对称实矩阵解的充要条件,有解时,用奇异值分解及广义逆求出解及最佳逼近。再对矩阵方程有行对称实矩阵解的充要条件进行了研究,利用奇异值分解得出了有解时的充要条件及解的表达式。设表示全体n*m阶实矩阵集合,rank(A)表示矩阵A的秩,表示次对角线上元素全为1,其余元素全为0的方阵,即=,显然有成立。表示n阶正交矩阵全体。本文要讨论以下问题:问题1 给定矩阵A,B,求实行对称方阵X,使得AX=B。问题2 给定,求,使得。其中为问题1的解集。问题3 给定矩阵,求实行对称方阵X,使得=B。 定义设A = (),若A满足,则称A为n *m行对称矩阵、所有n *m行对称矩阵的全体记为。考查满足的矩阵A,不难发现A 是关于行具有某种对称性的矩阵,即当阶数n为奇数时,以将行为对称线,矩阵A的行关于该线对称;当阶数n为偶数时,在行与行间做一条直线,则A的行关于该直线对称。或简单的说,将A 进行上下翻转后矩阵不变,我们就称这种矩阵为行对称矩阵。为了更好的了解行对称矩阵,我们介绍一下行对称矩阵的性质:(1)当n=2k时,=、(2)当n=2k+1时,=定义设A=,r(A)=r,的大于零的特征值为。则称为A的奇异值。定义设矩阵A ,若矩阵X满足如下四个Penrose方程:

矩阵在matlab中的基本命令

一、矩阵的表示 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 二,矩阵的创建: 1、直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。 2、利用MATLAB函数创建矩阵 基本矩阵函数如下: (1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n 维的全1矩阵; (2) zeros()函数:产生全为0的矩阵;

(3) rand()函数:产生在(0,1)区间均匀分布的随机阵; (4) eye()函数:产生单位阵; (5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。 3、利用文件建立矩阵 当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。 二、矩阵的简单操作 1.获取矩阵元素 可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。 也可以采用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排列顺序。 在MATLAB中,矩阵元素按列存储。 序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。 其相互转换关系也可利用sub2ind和ind2sub函数求得。 2.矩阵拆分

MATLAB矩阵及其运算函数表

MATLAB 矩阵及其运算函数表 函数名函数功能 abs( ) 绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所 对应的ASCII码数值矩阵double( ) char( ) 可以把ASCII码数值矩阵转换为字符串矩阵 fix( ) 向零方向取整 floor( ) 不大于自变量的最大整数 ceil( ) 不小于自变量的最小整数 round( ) 四舍五入到最邻近的整数 rem(x,y) 求余函数 mod(x,y) % exp( ) 指数函数 [ ] 空操作符 format 格式符设置或改变数据输出格式 (其中格式符决定数据的输出格式) e1:e2:e3 冒号表达式可以产生一个行向量 (其中e1为初始值,e2为步长,e3为终止值) linspace(a,b,n) 产生一个行向量 (其中a和b是生成向量的第一个和最后一个元素,n是元素总数) [注:linspace(a,b,n)与a:(b-a)/(n-1):b等价] A(:,j) 表示取A矩阵的第j列全部元素 A(i,:) 表示A矩阵第i行的全部元素 A(i,j) 表示取A矩阵第i行、第j列的元素 A(i:i+m,:) 表示取A矩阵第i~i+m行的全部元素 A(:,k:k+m) 表示取A矩阵第k~k+m列的全部元素 A(i:i+m,k:k+m) 表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素 zeros 产生全0矩阵(零矩阵) ones 产生全1矩阵(幺矩阵) eye 产生单位矩阵 rand 产生0~1间均匀分布的随机矩阵 randn 产生均值为0,方差为1的标准正态分布随机矩阵 zeros(size(A)) 建立一个与矩阵A同样大小的零矩阵 reshape(A,m,n) 在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵magic(n) 生成一个n阶魔方矩阵(其每行、每列及两条对角线上的元素和都相等) vander(V) 生成以向量V为基础向量的范得蒙矩阵(最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积) hilb(n) 生成希尔伯特矩阵 invhilb(n) 求n阶的希尔伯特矩阵的逆矩阵 (用一般方法求逆会因原始数据的微小扰动而产生不可靠的计算结果) toeplitz(x,y) 生成一个以x为第1列,y为第1行的托普利兹矩阵(除第1行第1列外,

线性方程组的矩阵求法.

线性方程组的矩阵求法 摘要: 关键词: 第一章引言 矩阵及线性方程组理论是高等代数的重要内容, 用矩阵 方法解线性方程组又是人们学习高等代数必须掌握的基本 技能,本文将给出用矩阵解线性方程组的几种方法,通过对线性方程组的系数矩阵(或增广矩阵)进行初等变换得到其解,并列举出几种用矩阵解线性方程组的简便方法。 第二章用矩阵消元法解线性方程组 第一节预备知识 定义1:一个矩阵中不等于零的子式的最大阶数叫作这个矩阵的秩。定理1:初等变换把一个线性方程组变为一个与它同解的线性方程组。 定义2:定义若阶梯形矩阵满足下面两个条件: (1)B的任一非零行向量的第一个非零分量(称为的 一个主元)为1; (2)B中每一主元是其所在列的唯一非零元。 则称矩阵为行最简形矩阵。 第二节 1.对一个线性方程组施行一个初等变换,相当于对它的增广矩

阵施行一个对应的行初等变换,而化简线性方程组相当于用行初等变换化简它的增广矩阵,因此,我们将要通过花间矩阵来讨论化简线性方程组的问题。这样做不但讨论起来比较方便,而且能给我们一种方法,就一个线性方程组的增广矩阵来解这个线性方程组,而不必每次都把未知量写出来。 下面以一般的线性方程组为例,给出其解法: (1) 11112211 21122222 1122 , , . n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b +++= +++= +++ = 根据方程组可知其系数矩阵为: (2) 11121 21222 12 n n m m mn a a a a a a a a a ?? ? ? ? ? ??? 其增广矩阵为: (3) 111211 212222 12 n n m m mn m a a a b a a a b a a a b ?? ? ? ? ? ??? 根据(2)及矩阵的初等变换我们可以得到和它同解的线性方程组,并很容易得到其解。 定理2:设A是一个m行n列矩阵

矩阵及方程组求解

第1章矩阵及其基本运算 MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本书从最基本的运算单元出发,介绍MATLAB的命令及其用法。 1.1 矩阵的表示 1.1.1 数值矩阵的生成 1.实数值矩阵输入 MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: >> Time = [11 12 1 2 3 4 5 6 7 8 9 10] Time = 11 12 1 2 3 4 5 6 7 8 9 10 >> X_Data = [2.32 3.43;4.37 5.98] X_Data = 2.43 3.43 4.37 5.98 >> vect_a = [1 2 3 4 5] vect_a = 1 2 3 4 5 >> Matrix_B = [1 2 3; >> 2 3 4;3 4 5] Matrix_B = 1 2 3 2 3 4 3 4 5 >> Null_M = [ ] %生成一个空矩阵 2.复数矩阵输入 复数矩阵有两种生成方式: 第一种方式 例1-1 >> a=2.7;b=13/25; >> C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1] C= 1.0000 5.4000 + 0.5200i 0.8544 0.7071 5.3000 4.5000

用矩阵的初等变换求逆矩阵

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式 求逆矩阵,但当矩阵A 的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢? (饿了再吃) 二、求逆矩阵方法的推导 (“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理 2.4 对mxn 矩阵A ,施行一次初等行变换,相当于在A 的左边乘以相应m 阶初等矩阵;对A 施行一次初等列变换,相当于在A 的右边乘以相应的n 阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理2.5的推论 A 可逆的充要条件为A 可表为若干初等矩阵之积。即 4.推论 A 可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A 可逆,构造分块矩阵(A ︱E),其中E 为与A 同阶的单位矩阵,那么 (2) 由(1)式 代入(2)式左边, 上式说明分块矩阵(A ︱E)经过初等行变换,原来A 的位置变换为单位阵E ,原来E 的位置变换为我们所要求的1A -,即 211211111111 12112112s t s s t t m P P P AQ Q Q E A P P P P EQ Q Q Q R R R ----------=?=?L L L L L 11121m R R R A E ---=L 111121m R R R A ----=L ()()122n n n n A E E A -???????→ 1*1A A A -=()()()1111A A E A A A E E A ----==111121m A R R R ----=L ()()111121m R R R A E E A ----=L

matlab下的矩阵运算

第二讲矩阵运算 §1基本矩阵运算元 我们在第一讲章已说明过 MATLAB 的运算是以数组(array>及矩阵 (matrix> 方式在做运算,而这二者在MATLAB的基本运算性质不同,数组强调元素对元素的运算,而矩阵则采用线性代数的运算方式。我们就来说明矩阵运算的特点。 以下将数组及矩阵的运算符号及其意义列出 >> A=[2 5 1。 7 3 8。 4 5 21。 16 13 0]。 >> A' % A的转置矩阵 A = 2 7 4 16 5 3 5 13 1 8 21 0 >> A=[4 -1 3]。 B=[-2 5 2]。 >> dot_prod = sum(A.*B> % 二个数组做内积 dot_prod = -7 >> c=dot(A,B> % 以dot函数也可做内积运算 c = -7 >> A=[4。 -1。 3]。 >> dot_prod = sum(A'.*B>。 % 如果A是行数组则先做转置,再做内积

>> F=[2 5 -1]。 G=[0 1 -3]。 >> out_prod=F'*G。 % 二矩阵做外积 >> A=[2,5,1。 0,3,-1]。 >> B=[1,0,2。 -1,4,-2。 5,2,1]。 >> C=A*B % 矩阵相乘,注意二个矩阵的大小须相容 C = 2 22 -5 -8 10 -7 >> A=[2 1。 4 3]。 >> A^2 % 矩阵次方 ans = 8 5 20 13 下面我们演示一个具体的例子。 假设我们把本地区的天气分为3种状态:晴,阴,雨。若今天天阴,则明天天晴的概率为1/2,阴的概率为1/4,下雨的概率为1/4。如果今天天阴,或者今天下雨,则明天天气是其它情况的概率会是其它的值,将这些概率值列入下面的表中。 天气状态转移概率表 2行第3列(最后一列>的值为1/2,,这给出了今天下雨明天转阴的概率。 将上表内的概率数据用矩阵A表示 矩阵A中概率称为转移概率,矩阵A称为转移矩阵。 已知今天天气晴、阴、雨的概率,可以用转移矩阵A提供的数据来计算明天天气晴、阴 、雨的概率。记、、分别为今天天气是晴、阴、雨的概率,、、分别为明

矩阵方程的数值解法开题报告

毕业论文开题报告 信息与计算科学 矩阵方程的数值解法 一、选题的背景、意义 1.选题的背景 在科学、工程计算中,求解矩阵方程的任务占相当大的份额。这是因为,矩阵方程不仅能以完整的形式作为许许多多实际问题的模型之一,而且还能作为不少其他数值方法处理过程中转化而成的组成部分。例如,在电路网络、弹性力学、潮流计算、热传导、振动等领域,其基本模型就是矩阵方程,而求微分方程边值问题的差分法和有限元法等数值计算本身,也导致求解某些矩阵方程。在系统控制等工程研究领域经常遇到矩阵方程的求解问题。自动控制系统最重要的一个特征是稳定性问题,它表示系统能妥善地保持预定工作状态,耐受各种不利因素的影响,因此矩阵方程在系统的稳定性理论,极点配置等方面具有重要的意义。在常微分方程的定性研究以及数值求解常微分方程的隐式Rung-kwtta方法和块方法中,也需要求解矩阵方程。此外,在广义特征值问题的摄动研究中及隐式常微分方程的数值解中,经常遇到矩阵方程的求解问题。 1.1.2选题的意义 随着科学技术的迅速发展,矩阵方程越来越多地出现在科学与工程计算领域,关于这类问题的研究也日益受到人们的高度重视.对矩阵方程的研究具有很重要的理论意义和很高的应用价值.所以,学会如何更好的解矩阵方程就显得非常重要。本文主要介绍了解矩阵方程的高斯消元法、Jacobi迭代法、Gauss-Seidcl迭代法和SOR迭代方法。在这些方法的基础上,利用matlab软件,快速求出矩阵方程的解。通常熟练使用这些工具或编写程序,而这通常是一项入门缓慢、熟练精通时间较长的工作。MATLAB在提供强大的计算功能,也为我们用数值方法求解矩阵方程提供了很大的方便。 1.1.3求解线性方程组 由于线性方程组是矩阵方程的一个特例,所以本文试图将解线性方程组的一些经典方法推广用来解矩阵方程。 记线性方程组为

用矩阵初等变换逆矩阵

用矩阵初等变换逆矩阵

————————————————————————————————作者:————————————————————————————————日期:

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式 求逆矩阵,但当矩阵A 的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢? (饿了再吃) 二、求逆矩阵方法的推导 (“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理 2.4 对mxn 矩阵A ,施行一次初等行变换,相当于在A 的左边乘以相应m 阶初等矩阵;对A 施行一次初等列变换,相当于在A 的右边乘以相应的n 阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理2.5的推论 A 可逆的充要条件为A 可表为若干初等矩阵之积。即 4.推论 A 可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A 可逆,构造分块矩阵(A ︱E ),其中E 为与A 同阶的单位矩阵,那么 (2) 由(1)式 代入(2)式左边, 上式说明分块矩阵(A ︱E )经过初等行变换,原来A 的位置变换为单位阵E ,原来E 的位置 变换为我们所要求的1 A -,即 21121111111112112112s t s s t t m P P P AQ Q Q E A P P P P EQ Q Q Q R R R ----------=?=?L L L L L 111 21m R R R A E ---=L 111121m R R R A ----=L () () 1 22n n n n A E E A -???????→ 1* 1A A A -=( )()() 1111A A E A A A E E A ----==1111 21m A R R R ----=L ( )() 1 111 21m R R R A E E A ----=L

Matlab 矩阵运算

Matlab 矩阵运算 说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所提到的是狭义上的矩阵,即通常意义上的矩阵。 目录 第一部分:矩阵基本知识 一、矩阵的创建 1.直接输入法 2.利用Matlab函数创建矩阵 3.利用文件创建矩阵 二、矩阵的拆分 1.矩阵元素 2.矩阵拆分 3.特殊矩阵 三、矩阵的运算 1.算术运算 2.关系运算 3.逻辑运算 四、矩阵分析 1.对角阵 2.三角阵 3.矩阵的转置与旋转 4.矩阵的翻转 5.矩阵的逆与伪逆 6.方阵的行列式 7.矩阵的秩与迹 8.向量和矩阵的范数 9.矩阵的特征值与特征向量 五、字符串 六、其他 第二部分矩阵的应用 一、稀疏矩阵

1.稀疏矩阵的创建 2.稀疏矩阵的运算 3.其他 二、有限域中的矩阵 内容 第一部分:矩阵基本知识(只作基本介绍,详细说明请参考Matlab帮助文档) 矩阵是进行数据处理和运算的基本元素。在MATLAB中 a、通常意义上的数量(标量)可看成是”1*1″的矩阵; b、n维矢量可看成是”n*1″的矩阵; c、多项式可由它的系数矩阵完全确定。 一、矩阵的创建 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]“内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 下面介绍四种矩阵的创建方法: 1、直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b 是生成向量的第一个和最后一个元素,n是元素总数。可以看出来linspace(a, b,n)与a:(b-a)/(n-1):b等价。 2、利用MATLAB函数创建矩阵 基本矩阵函数如下: (1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones (m,n):产生m*n维的全1矩阵; (2) zeros()函数:产生全为0的矩阵; (3) rand()函数:产生在(0,1)区间均匀分布的随机阵; (4) eye()函数:产生单位阵; (5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。 3、利用文件建立矩阵 当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要

线性方程组的矩阵求解算法

线性方程组的矩阵求解算法 摘要 线性方程组的矩阵求解算法,只需在约当消元法的基础上,再对方程组的 增广矩阵的行最简形进行行(列)删除和增加行,交换行等运算即可得到方程组的解,并且这种方法既可求解有唯一解的方程组.因而算法简单,易于实现. 关键词 线性方程组;解向量;解法;约当消元法 1 矩阵求解算法 设有线性方程组m n A X b ?=,其增广矩阵())(1,m n A A b ?+=,算法的步骤如下: 第一步:利用约当消元法,把增广矩阵A 化为行最简形,设行最简形为()1m n B ?+.若()t i (),r A r =则方程组无解;否则设(),r A R =并执行以下步骤; 第二步:删除B 中的所有零行和每一行第一个非零元素(这个非零元素一定是1)所在的列,得到矩阵()1,r n r D ?-+并记录每行的第一个非零元所在的列标,放在一维数组()1, ,t r 中,如第i 行的第一个非零元在第j 列,则()t i j =; 第三步:构造矩阵() 1m n r D H F ?-+?? = ? ??,其中 ()() 1100001 0000 1 0n r n r F -?-+-?? ?- ? = ? ? -? ? 第四步:对矩阵H 中的行作交换运算:把H 中的第i 行(,1,1,i r r =-即从第r 行开始直到第一行)依次与其下一行交换,使之成为第()t i 行,交换运算结果后的矩阵记为G ,则G 中的前n r -个n 维列向量即为方程组的一个基础解系,最后一列向量即为方程组的一个特解; 第五步:写出方程组的通解. 2 算法证明 先证一个特殊情形,增广矩阵A 的行最简形矩阵B 的左上角为一r 阶的单位矩阵,即第i 行的第一个非零元的列标为i ,即()()1t i i i r =≤≤,所以设B 为

第一章 线性方程组的解法(新)

第一章 线性方程组的解法 求解线性方程组是科学研究和工程应用中最普遍和最重要的问题,超过75%的科学研究和工程应用中的数学问题,在某一阶段都与线性方程组的求解有关.本章介绍求解线性方程组的消元法及其矩阵形式. 引例 交通流量问题 随着城市人口以及交通流量的增加,城市道路交通拥堵问题已成为制约经济发展、降低人民生活质量、削弱经济活力的瓶颈之一.为解决这个世界性难题,各国政府和民间都进行了广泛的研究,提出了提高交通管理水平、增强交通参与者的素质、扩大道路容量、限制车辆增长速度等政策及车牌限行、设置单向行驶道路等措施.以上的政策和措施的一个基础性工作就是各道路的车流量的统计与分流控制.使各道路的交通流量要达到平衡,所谓交通流量平衡是指在每个路口进入的车辆数与离开的车辆数相等.图1是某一城市的道路交通网络图,所有车道都是单行道.箭头给出了车辆的通行方向,数字是高峰期每小时进入和离开路口的车辆数.在满足交通流量平衡的条件下,试问如何分流车辆. 图1 为了保证交通流量平衡,得线性方程组 12 23345461 56300,200,300,100,300.x x x x x x x x x x x x +=??-=-?? -+=? ?-=-??-+=? () 问题归结为讨论线性方程组()是否有解若有解,求出方程组的解.

第一节 线性方程组的消元法 一、线性方程组的概念 设12,,,n x x x L 为实未知量,12,,,,n a a a b L 为实数,n 为正整数.方程 1122n n a x a x a x b +++=L 称为含未知量12,,,n x x x L 的线性方程.由m 个含未知量12,,,n x x x L 的线性方程组成的方程组 1111221121122222 1122,,, n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b +++=??+++=????+++=?L L L L L L L L L L L L L L () 称为n 元线性方程组,其中,(1,2,,;1,2,,)ij i a b i m j n ==L L 为实数.若 1122,,,n n x c x c x c ===L () 使()中的每一个方程都成立,则称()为方程组()的解. 如果线性方程组()有解,则称方程组()是相容的;否则,称方程组()是不相容的. 线性方程组解的全体所构成的集合称为该线性方程组的解集.显然,如果线性方程组不相容,其解集必为空集.能表示线性方程组全部解的表达式称为方程组的通解或一般解. 具有相同解集的线性方程组称为同解方程组或等价方程组. 二、线性方程组的消元法 中学所学的解线性方程组的消元法是求解线性方程组简单有效的方法.现在我们回忆消元法的过程. 例1 利用消元法求解线性方程组 121223,(1)45 6. (2) x x x x +=?? +=? 解 将方程(1)乘以4-加到方程(2)上,得等价方程组 122 23,(3) 3 6.(4)x x x +=?? -=-? 由方程(4)解得22x =,再代入方程(3),得11x =-,则原方程组的解为121,2x x =-=.该方程组有唯一解. 例2 利用消元法求解线性方程组

相关文档
最新文档