没有合适的资源?快使用搜索试试~ 我知道了~
矩阵在MATLAB中的运算与应用.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2022-11-13
05:46:44
上传
评论
收藏 592KB PDF 举报
温馨提示
试读
11页
。。。
资源推荐
资源详情
资源评论
矩阵在 MATLAB 中的运算与应用
摘要:介绍了 Matlab 在矩阵运算方而的功能。演示了用 Matlab 构造矩阵,获取
矩阵的相关信息,进行矩阵运算的方法,对矩阵运算进行了分析,对矩阵作图进
行了研究。
关键词:矩阵; Matlab
1 引言
Matlab 的含义是矩阵实验室( Matrix Laboratory) ,是由美国 Mathwork 公司于 1984 年推出
[ ]
的一套高性能的数值计算和可视化软件
1
。现在,它己发展为国际上最优秀的科技应用软
件。如果能将它用到相关学科课的学习上无疑是非常有意义的。Matlab 赋予学习者一个可
实验的环境,一个强大的数值计算和分析及可视化(图形)工具。矩阵论是高等院校理、工科
研究生的一门重要基础课程。有人认为“科学计算,归根结底就是矩阵的计算 ” 。因此,
对于将来从事科学技术工作的研究生来说 ,矩阵理论和方法是必不可少的数学工具。矩阵
的理论和方法在数学和其他学科中都具有重要的意义,但许多学生无法克服矩阵庞大的计算
量带来的恐惧,从而丧失了学习的兴趣和动力。本文展示了如何方便地用 Matlab 构造矩阵,
获取矩阵的相关信息以及完成矩阵的运算,展示了矩阵的结构和运算,以此来说明在机器计
算环境中,庞大复杂的计算不再是令人头疼的事情。
[
2
]
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 是
生成向量的第一个和最后一个元素,n 是元素总数。可以看出来 linspace(a,b,n)
与 a:(b-a)/(n-1):b 等价。
2.1.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 的标准正态分布随机矩阵。
2.1.3 利用文件建立矩阵
当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在
需要时直接将文件利用 load 命令调入工作环境中使用即可。同时可以利用命令
reshape 对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前
提下,将矩阵 A 重新排成 m*n 的二维矩阵。
2.2 矩阵的拆分
2.2.1 矩阵元素
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也可以采用
矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列
顺序。在 MATLAB 中,矩阵元素按列存储,先第一列,再第二列,依次类推。序
号(Index)与下标(Subscript)是一一对应的,以 m*n 矩阵 A 为例,矩阵元素 A(i,j)的
序号为(j-1)*m+i。其相互转换关系也可利用 sub2ind 和 ind2sub 函数求得。
2.2.2 矩阵拆分
1、利用冒号表达式获得子矩阵:
(1) A(:,j)表示取 A 矩阵的第 j 列全部元素;A(i,:)表示 A 矩阵第 i 行的全部元素;
A(i,j)表示取 A 矩阵第 i 行、第 j 列的元素。
(2) 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
列中的所有元素。此外,还可利用一般向量和 end 运算符来表示矩阵下标,从而
获得子矩阵。end 表示某一维的末尾元素下标。
2、利用空矩阵删除矩阵的元素:
在 MATLAB 中,定义[]为空矩阵。给变量 X 赋空矩阵的语句为 X=[]。注意,
X=[]与 clear X 不同,clear 是将 X 从工作空间中删除,而空矩阵则存在于工作空间
中,只是维数为 0。
2.2.3 特殊矩阵
(1) 魔方矩阵:魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上
的元素和都相等。对于 n 阶魔方阵,其元素由 1,2,3,„,n2 共 n2 个整数组成。
MATLAB 提供了求魔方矩阵的函数 magic(n),其功能是生成一个 n 阶魔方阵。
(2) 范得蒙矩阵:范得蒙(Vandermonde)矩阵最后一列全为 1,倒数第二列为
一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向
量生成一个范得蒙矩阵。在 MATLAB 中,函数 vander(V)生成以向量 V 为基础向
量的范得蒙矩阵。
(3) 希尔伯特矩阵:在 MATLAB 中,生成希尔伯特矩阵的函数是 hilb(n)。使
用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。 MATLAB
中,有一个专门求希尔伯特矩阵的逆的函数 invhilb(n),其功能是求 n 阶的希尔
伯特矩阵的逆矩阵。
(4) 托普利兹矩阵:托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元
素都与左上角的元素相同。生成托普利兹矩阵的函数是 toeplitz(x,y),它生成一个
以 x 为第一列,y 为第一行的托普利兹矩阵。这里 x, y 均为向量,两者不必等长。
toeplitz(x)用向量 x 生成一个对称的托普利兹矩阵。
(5) 伴随矩阵:MATLAB 生成伴随矩阵的函数是 compan(p),其中 p 是一个多
项式的系数向量,高次幂系数排在前,低次幂排在后。
(6) 帕斯卡矩阵:我们知道,二次项(x+y)n 展开后的系数随 n 的增大组成一
个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡 (Pascal)
矩阵。函数 pascal(n)生成一个 n 阶帕斯卡矩阵。
2.3 矩阵的运算
2.3.1 算术运算
MATLAB 的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘
方)、’(转置)。运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。
(1) 矩阵加减运算假定有两个矩阵 A 和 B,则可以由 A+B 和 A-B 实现矩阵的
加减运算。运算规则是:若 A 和 B 矩阵的维数相同,则可以执行矩阵的加减运
算,A 和 B 矩阵的相应元素相加减。如果 A 与 B 的维数不相同,则 MATLAB 将给
出错误信息,提示用户两个矩阵的维数不匹配。
(2) 矩阵乘法 假定有两个矩阵 A 和 B,若 A 为 m*n 矩阵,B 为 n*p 矩阵,
则 C=A*B 为 m*p 矩阵。
(3) 矩阵除法在 MATLAB 中,有两种矩阵除法运算:\和/,分别表示左除和
右除。如果 A 矩阵是非奇异方阵,则 A\B 和 B/A 运算可以实现。A\B 等效于 A 的
逆左乘 B 矩阵,也就是 inv(A)*B,而 B/A 等效于 A 矩阵的逆右乘 B 矩阵,也就是
B*inv(A)。对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左
除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般 A\B≠B/A。
(4) 矩阵的乘方 一个矩阵的乘方运算可以表示成 A^x,要求 A 为方阵,x 为
标量。
(5) 矩阵的转置 对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊
的,操作符.’共轭不转置(见点运算);
(6) 点运算在 MATLAB 中,有一种特殊的运算,因为其运算符是在有关算术
剩余10页未读,继续阅读
资源评论
不吃鸳鸯锅
- 粉丝: 8346
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功