文档介绍:Matlab 矩阵运算
说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所提到的是狭义上的矩阵,即通常意义上的矩阵。
目录
第一部分:矩阵基本知识
一、矩阵的创建
直接输入法
利用Matlab函数创建矩阵
利用文件创建矩阵
二、矩阵的拆分
矩阵元素
矩阵拆分
特殊矩阵
三、矩阵的运算
算术运算
关系运算
逻辑运算
四、矩阵分析
对角阵
三角阵
矩阵的转置与旋转
矩阵的翻转
矩阵的逆与伪逆
方阵的行列式
矩阵的秩与迹
向量和矩阵的范数
矩阵的特征值与特征向量
五、字符串
六、其他
第二部分矩阵的应用
一、稀疏矩阵
稀疏矩阵的创建
稀疏矩阵的运算
其他
二、有限域中的矩阵
内容
第一部分:矩阵基本知识(只作基本介绍,详细说明请参考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、利用文件建立矩阵
当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
二、矩阵的拆分
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储