教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

第三节 矩阵的基本运算

来源:网络收集 时间:2026-09-08
导读: matlab课件 第三节矩阵的基本运算 http://doc.guandang.net/sxsykc/jxnr/mat3.htm 3.1加和减3.2矩阵乘法3.2.1矩阵的普通乘法3.2.2矩阵的Kronecker乘法3.3矩阵除法3.4矩阵乘方3.5矩阵的超越函数3.6数组运算3.6.1数组的加和减3.6.2数组的乘和除3.6.3数组乘方3.

matlab课件

第三节矩阵的基本运算

http://doc.guandang.net/sxsykc/jxnr/mat3.htm

§3.1加和减§3.2矩阵乘法§3.2.1矩阵的普通乘法§3.2.2矩阵的Kronecker乘法§3.3矩阵除法§3.4矩阵乘方§3.5矩阵的超越函数§3.6数组运算§3.6.1数组的加和减§3.6.2数组的乘和除§3.6.3数组乘方§3.7矩阵函数§3.7.1三角分解§3.7.2正交变换§3.7.3奇异值分解§3.7.4特征值分解§3.7.5秩§3.1加和减如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A= B= 1 2 3 1 4 7 4 5 6 2 5 8 7 8 0 3 6 0 C=A+B返回: C= 2 6 10 6 10 14 10 14 0如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如: x= -1 y=x-1= -2 0 -1 2 1

§3.2矩阵乘法Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍.§3.2.1矩阵的普通乘法矩阵乘法用“ *”符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同.如:A=[1 2; 3 4]; B=[5 6; 7 8]; C=A*B,结果为

第1页共6页

2012/9/12 17:39

matlab课件

C=×=

=

即Matlab返回:C = 19 22 43 50如果A或B是标量,则A*B返回标量A

(或B)乘上矩阵B

(或A

)的每一个元素所得的矩阵.§

3.2.2 矩阵的Kronecker乘法 对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为:

由上面的式子可以看出,Kronecker乘积AB表示矩阵A的所有元素与B之间的乘积组合而成的较大的矩

阵,BA则完全类似.AB和BA均为np×mq矩阵,但一般情况下ABBA.和普通矩阵的乘法不

同,Kronecker乘法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker乘法的Matlab命令为

C=kron(A,B),例如给定两个矩阵A和B:

A= B=

则由以下命令可以求出A和B的Kronecker乘积C:

A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B)

C =

1 3 2 2 6 4

2 4 6 4 8 12

3 9 6 4 12 8

6 12 18 8 16 24

作为比较,可以计算B和A的Kronecker乘积D,可以看出C、D是不同的:

A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; D=kron(B,A)

D =

1 2 3 6 2 4

3 4 9 12 6 8

2 4 4 8 6 12

6 8 12 16 18 24

§3.3 矩阵除法

在Matlab中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A矩阵是非奇异方阵,则A\B是A的

逆矩阵乘B,即inv(A)*B;而B/A是B乘A的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算.

通常:

x=A\B就是A*x=B的解;

x=B/A就是x*A=B的解.

当B与A矩阵行数相等可进行左除.如果A是方阵,用高斯消元法分解因数.解方程:A*x(:, j)=B(:, j),式中

的(:, j)表示B矩阵的第j列,返回的结果x具有与B矩阵相同的阶数,如果A是奇异矩阵将给出警告信息.

如果A矩阵不是方阵,可由以列为基准的Householder正交分解法分解,这种分解法可以解决在最小二乘法中

的欠定方程或超定方程,结果是m×n的x矩阵.m是A矩阵的列数,n是B矩阵的列数.每个矩阵的列向量最多有

k个非零元素,k 是A的有效秩.

右除B/A可由B/A=(A'\B')'左除来实现.

§3.4矩阵乘方

A^P意思是A的P次方.如果A是一个方阵,P是一个大于1的整数,则A^P表示A的P次幂,即A自乘P次.如

果P不是整数,计算涉及到特征值和特征向量的问题,如已经求得:[V,D]=eig(A),则:

A^P=V*D.^P/V(注:这里的.^表示数组乘方,或点乘方,参见后面的有关介绍)

如果B是方阵, a是标量,a^B就是一个按特征值与特征向量的升幂排列的B次方程阵. 如果a和B都是矩

matlab课件

阵,则a^B是错误的.

§3.5

矩阵的超越函数在Matlab中解释exp(A)和sqrt(A)时曾涉及到级数运算,此运算定义在

A的单个元素上.

Matlab可以计算矩阵

的超越函数,如矩阵指数、矩阵对数等.

一个超越函数可以作为矩阵函数来解释,例如将“m”加在函数名的后边而成expm(A)和sqrtm(A),当

Matlab运行时,有下列三种函数定义:

expm 矩阵指数

logm 矩阵对数

sqrtm 矩阵开方

所列各项可以加在多种m文件中或使用funm.请见应用库中sqrtm.m,1ogm.m,funm.m文件和命令手册.

§3.6数组运算

数组运算由线性代数的矩阵运算符“*”、“/”、“\”、“^”前加一点来表示,即为“.*”、“./”、“.

\”、“.^”.注意没有“.+”、“.-”运算.

§3.6.1数组的加和减

对于数组的加和减运算与矩阵运算相同,所以“+”、“-”既可被矩阵接受又可被数组接受.

§3.6.2数组的乘和除

数组的乘用符号.*表示,如果A与B矩阵具有相同阶数,则A.*B表示A和B单个元素之间的对应相乘.例如

x=[1 2 3]; y=[ 4 5 6];

计算z=x.*y

结果z=4 10 18

数组的左除(.\)与数组的右除(./),由读者自行举例加以体会.

§3.6.3 数组乘方

数组乘方用符号.^表示.

例如:键入:

x=[ 1 2 3]

y=[ 4 5 6]

则z=x.^y=[1^4 2^5 3^6]=[1 32 729]

(1) 如指数是个标量,例如x.^2,x同上,则:

z=x.^2=[1^2 2^2 3^2]=[ 1 4 9]

(2) 如底是标量,例如2 .^[x y] ,x、y同上,则:

z=2 .^[x y]=[2^1 2^2 2^3 2^4 2^5 2^6]=[2 4 8 16 32 64]

从此例可以看出Matlab算法的微妙特性,虽然看上去与其它乘方没什么不同,但在2和“.”之间的空格很

重要,如果不这样做,解释程序会把“.”看成是2的小数点. Matlab看到符号“^”时,就会当做矩阵的幂来

运算,这种情况就会出错,因为指数矩阵不是方阵.

§3.7 矩阵函数

Matlab的数学能力大部分是从它的矩阵函数派生出来的,其中一部分装入Matlab本身处理中,它从外部的

Matlab建立的M文件库中得到,还有一些由个别的用户为其自己的特殊的用途加进去的.其它功能函数在求助

程序或命令手册中都可找到.手册中备有为Matlab提供数学基础的LINPACK和EISPACK软件包,提供了下面四

种情况的分解函数或变换函数:

(1)三角分解;(2)正交变换;(3) 特征值变换;(4)奇异值分解.

§3.7.1三角分解

最基本的分解为“LU”分解,矩阵分解为两个基本三角矩阵形成的方阵,三角矩阵有上三角矩阵和下三角

矩阵.计算算法用高斯变量消去法.

从lu函数中可以得到分解出的上三角与下三角矩阵,函数inv得到矩阵的逆矩阵,det得到矩阵的行列式.解

线性方程组的结果由方阵的“\”和“/”矩阵除法来得到.

例如:

A=[ 1 2 3

4 5 6

7 …… 此处隐藏:4487字,全部文档内容请下载后查看。喜欢就下载吧 ……

第三节 矩阵的基本运算.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1802385.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)