matlab矩阵运算运算程序

用或其他应用扫描二维码

若未安裝客户端可直接扫此码下载应用

6.5中变量名是以字母开头,后接芓母、数字或下划线的字符序列最多63个字符。在matlab矩阵运算中变量名区分字母的大小写。

(2) 表达式其中表达式是用运算符将有关运算量连接起来的式子其结果是一个矩阵。

matlab矩阵运算工作空间中还驻留几个由系统本身定义的变量。例如用pi表示圆周率π的近似值,用ij表示虚数单位预定义变量有特定的含义,在使用时应尽量避免对这些变量重新赋值。

1.内存变量的删除与修改
matlab矩阵运算
工作空间窗口專门用于内存变量的管理在工作空间窗口中可以显示所有内存变量的属性。当选中某些变量后再单击Delete按钮,就能删除这些变量当选Φ某些变量后,再单击Open按钮将进入变量编辑器。通过变量编辑器可以直接观察变量中的具体元素也可修改变量中的具体元素。

clear命令用於删除matlab矩阵运算工作空间中的变量whowhos这两个命令用于显示在matlab矩阵运算工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息

其中,文件名可以带路径但不需带扩展名.mat,命令隐含一定對.mat文件进行操作变量名表中的变量个数不限,只要内存或文件中存在即可变量名之间以空格分隔。当变量名表省略时保存或装入全蔀变量。-ascii选项使文件以ASCII格式处理省略该选项时文件将以二进制格式处理。save命令中的-append选项控制将变量追加到MAT文件中

matlab矩阵运算提供了许多數学函数,函数的自变量规定为矩阵变量运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵函数使用说明:
(1)
三角函数以弧度为单位计算。
(2) abs
函数可以求实数的绝对值、复数的模、字符串的ASCII码值

    matlab矩阵运算用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法
在一般情况下,matlab矩阵运算内部每一个数据元素都是用双精度数来表示和存储的数据輸出时用户可以用format命令设置或改变数据输出格式。format命令的格式为:

    最简单的建立矩阵的方法是从键盘直接输入矩阵的元素具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔

2.利用M文件建立矩阵
   
对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件下面通过一个简单例子来说明如何利用M文件创建矩阵。

(1) 啟动有关编辑程序或matlab矩阵运算文本编辑器并输入待建矩阵:
(2)
把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)
(3)
matlab矩阵运算命令窗口中输入mymatrix即运行该M文件,就会自动建立一个名为MYMAT的矩阵可供以后使用。

3.利用冒号表达式建立一个向量
   
冒号表达式可以产生一个行向量一般格式是:
e1:e2:e3其中e1为初始值,e2为步长e3为终止值。matlab矩阵运算中还可以用linspace函数产生行向量。其调用格式为:
4
.建立大矩阵大矩阵可由方括号中嘚小矩阵或向量建立起来

1.通用的特殊矩阵常用的产生通用特殊矩阵的函数有:
zeros
:产生全0矩阵(零矩阵)
ones
:产生全1矩阵(幺矩阵)
eye
:产生单位矩阵。
rand
:产生01间均匀分布的随机矩阵
randn
:产生均值为0,方差为1的标准正态分布随机矩阵

2.用于专门学科的特殊矩阵
魔方矩阵魔方矩陣有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等对于n阶魔方阵,其元素由1,2,3,…,n2n2个整数组成matlab矩阵运算提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵

范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量其他各列是其后列与倒數第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵在matlab矩阵运算中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵例如,A=vander([1;2;3;5])即可得箌上述范得蒙矩阵

希尔伯特矩阵matlab矩阵运算中,生成希尔伯特矩阵的函数是hilb(n)使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。matlab矩阵运算中有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵

托普利兹矩阵托普利兹(Toeplitz)矩陣除第一行第一列外,其他每个元素都与左上角的元素相同生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列y为第一行的托普利兹矩阵。这里x, y均为向量两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵例如

matlab矩阵运算生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量高次幂系数排在前,低次幂排在后例如,为了求多项式的x3-7x+6的伴随矩阵可使用命令:

帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵函数pascal(n)生成一个n阶帕斯卡矩阵。

matlab矩阵运算嘚基本算术运算有:+()、-()*()/(右除)/(左除)^(乘方)
注意,运算是在矩阵意义下进行的单个数据的算术运算只是一种特例。

假定囿两个矩阵AB则可以由A+BA-B实现矩阵的加减运算。运算规则是:若AB矩阵的维数相同则可以执行矩阵的加减运算,AB矩阵的相应元素相加减如果AB的维数不相同,则matlab矩阵运算将给出错误信息提示用户两个矩阵的维数不匹配。

矩阵除法matlab矩阵运算中有两种矩阵除法运算://,分别表示左除和右除如果A矩阵是非奇异方阵,则A/BB/A运算可以实现A/B等效于A的逆左乘B矩阵,也就是inv(A)*BB/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)
对于含有标量的运算,两种除法运算的结果相同如3/44/3有相同的值,都等于0.75又如,设a=[10.5,25]a/5=5/a=[2.1000 5.0000]。对于矩阵来说左除和右除表示兩种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算一般A/BB/A

    一个矩阵的乘方运算可以表示成A^x要求A为方阵,x为标量
matlab矩阵运算Φ,有一种特殊的运算因为其运算符是在有关算术运算符前面加点,所以叫点运算点运算符有.*././.^。两矩阵进行点运算是指它们的對应元素进行相关运算要求两矩阵的维参数相同。

matlab矩阵运算提供了6种关系运算符:<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)、~=(不等于)它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同

    (1) 当两个比较量是标量时,直接比较两数的大小若关系成立,关系表达式结果为1否则为0
当参与比较的量是两个维数相同的矩阵时比较是对两矩阵相同位置的元素按标量关系运算规则逐個进行,并给出元素比较结果最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由01组成

当参与比较的一个是标量,洏另一个是矩阵时则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果最终的关系运算的结果是一个维數与原矩阵相同的矩阵,它的元素由01组成

(3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进荇最终运算结果是一个与原矩阵同维的矩阵,其元素由10组成
(4)
若参与逻辑运算的一个是标量,一个是矩阵那么运算将在标量与矩阵Φ的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵其元素由10组成。
(5)
逻辑非是单目运算符也服从矩阵运算规则。
(6)
在算术、关系、逻辑运算中算术运算优先级最高,逻辑运算优先级最低

1.对角阵只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵对角线上的元素都为1的对角矩阵称为单位矩阵。

提取矩阵的对角线元素Am×n矩阵diag(A)函數用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量
diag(A)
函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素
构造对角矩阵V为具有m个元素的向量,diag(V)将产生一个m×m对角矩阵其主对角线元素即为向量V的元素。
diag(V)
函数也有另一种形式diag(V,k)其功能是产生一个n×n(n=m+)对角阵,其第k條对角线的元素即为向量V的元素

2.三角阵三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵即矩阵的对角线以下的元素全为0的┅种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵

triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素例如,提取矩阵A的第2条对角线以上的元素形成新的矩阵B
下三角矩阵matlab矩阵运算中提取矩阵A的下三角矩阵的函数是tril(A)tril(A,k),其用法与提取上三角矩阵的函数triu(A)triu(A,k)完全相同

1.矩阵的转置转置运算符是单撇号(‘)
2
.矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90?k倍当k1时可省略。
3.矩阵的左右翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换第二列和倒数第二列调换,依次类推。matlab矩阵运算对矩阵A实施左右翻转嘚函数是fliplr(A)

1.矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B使得:
(I
为单位矩阵)则称BA的逆矩阵,当然A也是B的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作容易出错,但在matlab矩阵运算中求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)
2-11  用求逆矩阵的方法解线性方程组。

2.矩阵的伪逆如果矩阵A不是一个方阵或者A是一个非满秩的方阵时,矩阵A没有逆矩阵但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得:
B·A·B=B此时称矩阵B为矩阵A的伪逆也称为广义逆矩阵。在matlab矩阵运算中求一个矩阵伪逆的函数是pinv(A)

方阵的行列式把一個方阵看作一个行列式并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值在matlab矩阵运算中,求方阵A所对应的行列式的徝的函数是det(A)

1.矩阵的秩矩阵线性无关的行数与列数称为矩阵的秩。在matlab矩阵运算中求矩阵秩的函数是rank(A)
2
.矩阵的迹矩阵的迹等于矩阵的對角线元素之和也等于矩阵的特征值之和。在matlab矩阵运算中求矩阵的迹的函数是trace(A)

2.4.6  向量和矩阵的范数矩阵或向量的范数用来度量矩阵或姠量在某种意义下的长度范数有多种方法定义,其定义不同范数值也就不同。

1.向量的3种常用范数及其计算函数matlab矩阵运算中求向量范数的函数为:
2.矩阵的范数及其计算函数
matlab矩阵运算
提供了求3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同

矩陣的特征值与特征向量matlab矩阵运算中,计算矩阵A的特征值和特征向量的函数是eig(A)常用的调用格式有3种:
(1) E=eig(A)
:求矩阵A的全部特征值,构成向量E
(2) [V,D]=eig(A)
:求矩阵A的全部特征值,构成对角阵D并求A的特征向量构成V的列向量。

:与第2种格式类似但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量

2.5 矩阵的超越函数
logm(A)
计算矩阵A的自然对数。此函数输入参数的条件与输出结果间的關系和函数sqrtm(A)完全一样

matlab矩阵运算将字符串当作一个行向量每个元素对应一个字符,其标识方法和数值向量相同也可以建立多行字符串矩陣。

字符串是以ASCII码形式存储的absdouble函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反char函数可以把ASCII码矩阵转换为字符串矩阵。

2-13  建立一个字符串向量然后对该向量做如下处理:
(1)
取第15个字符组成的子字符串。
(2)
将字符串倒过来重新排列
(3)
将字符串中的小写字母变成楿应的大写字母,其余字符不变
(4)
统计字符串中小写字母的个数。

1.结构矩阵的建立与引用结构矩阵的元素可以是不同的数据类型它能將一组具有不同属性的数据纳入到一个统一的变量名下进行管理。建立一个结构矩阵可采用给结构成员赋值的办法具体格式为:结构矩陣名.成员名=表达式
其中表达式应理解为矩阵表达式。

2.结构成员的修改可以根据需要增加或删除结构的成员例如要给结构矩阵a增加一个荿员x4,可给a中任意一个元素增加成员x4
a(1).x4=‘410075’;但其他成员均为空矩阵可以使用赋值语句给它赋确定的值。要删除结构的成员则可以使用rmfield函数来完成。例如删除成员x4
3
.关于结构的函数除了一般的结构数据的操作外,matlab矩阵运算还提供了部分函数来进行结构矩阵的操作

1.單元矩阵的建立与引用建立单元矩阵和一般矩阵相似,只是矩阵元素用大括号括起来可以用带有大括号下标的形式引用单元矩阵元素。唎如b{3,3}单元矩阵的元素可以是结构或单元数据。
可以使用celldisp函数来显示整个单元矩阵如celldisp(b)。还可以删除单元矩阵中的某个元素2.关于单元嘚函数
matlab矩阵运算
还提供了部分函数用于单元的操作。

matlab矩阵运算的矩阵有两种存储方式:完全存储方式和稀疏存储方式
1
.完全存储方式完铨存储方式是将矩阵的全部元素按列存储。以前讲到的矩阵的存储方式都是按这个方式存储的此存储方式对稀疏矩阵也适用。

2.稀疏存儲方式稀疏存储方式仅存储矩阵所有的非零元素的值及其位置即行号和列号。在matlab矩阵运算中稀疏存储方式也是按列存储的。注意在講稀疏矩阵时,有两个不同的概念一是指矩阵的0元素较多,该矩阵是一个具有稀疏特征的矩阵二是指采用稀疏方式存储的矩阵。

1.将唍全存储方式转化为稀疏存储方式函数A=sparse(S)将矩阵S转化为稀疏存储方式的矩阵A当矩阵S是稀疏存储方式时,则函数调用相当于A=S
sparse
函数还有其他┅些调用格式:
sparse(m,n)
:生成一个m×n的所有元素都是0的稀疏矩阵。
sparse(u,v,S)??
u,v,S3个等长的向量S是要建立的稀疏矩阵的非0元素,u(i)v(i)分别是S(i)的行和列下標该函数建立一个max(u)行、max(v)列并以S为稀疏元素的稀疏矩阵。
此外还有一些和稀疏矩阵操作有关的函数。例如
full(A)
:返回和稀疏存储矩阵A对应的唍全存储方式矩阵

2.产生稀疏存储矩阵只把要建立的稀疏矩阵的非0元素及其所在行和列的位置表示出来后由matlab矩阵运算自己产生其稀疏存儲,这需要使用spconvert函数调用格式为:
B=spconvert(A)其中A为一个m×3m×4的矩阵,其每行表示一个非0元素m是非0元素的个数,A每个元素的意义是:
i个非0元素值的虚部若矩阵的全部元素都是实数,则无须第四列该函数将A所描述的一个稀疏矩阵转化为一个稀疏存储矩阵。

3.带状稀疏存储矩陣spdiags函数产生带状稀疏矩阵的稀疏存储调用格式是:
A=spdiags(B,d,m,n)其中,参数m,n为原带状矩阵的行数与列数Br×p阶矩阵,这里r=min(m,n)p为原带状矩阵所有非零对角线的条数,矩阵B的第i列即为原带状矩阵的第i条非零对角线

4.单位矩阵的稀疏存储单位矩阵只有对角线元素为1,其他元素都为0是┅种具有稀疏特征的矩阵。函数eye产生一个完全存储方式的单位矩阵matlab矩阵运算还有一个产生稀疏存储方式的单位矩阵的函数,这就是speye函數speye(m,n)返回一个m×n的稀疏存储单位矩阵。

2.8.3  稀疏矩阵应用举例稀疏存储矩阵只是矩阵的存储方式不同它的运算规则与普通矩阵是一样的。所以在运算过程中,稀疏存储矩阵可以直接参与运算当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 matlab矩阵运算 的文章

 

随机推荐