一、矩阵的表示在MATLAB中创建矩阵有以下规则:
1、矩阵元素必须在”[ ]”内;
2、矩阵的同行元素之间用空格(或”,”)隔开;
3、矩阵的行与行之间用”;”(或回车符)隔开;
4、矩阵的元素可以是数值、变量、表达式或函数;
5、矩阵的尺寸不必预先定义。
二、基本矩阵函数如下:
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的标准正态分布随机矩阵。
扩展资料:
矩阵的简单操作
一、获取矩阵元素
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储。序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。
二、矩阵拆分
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。
方阵的行列式表达方式如下:
把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。
在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。
矩阵的表示
在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、矩阵的转置与旋转
(1) 矩阵的转置 转置运算符是单撇号(’)。
(2) 矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略
4、矩阵的翻转
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。矩阵A实施左右翻转的函数是fliplr(A),对矩阵A实施上下翻转的函数是flipud(A)。
5、矩阵的逆与伪逆
(1) 矩阵的逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵) 则称B为A的逆矩阵,当然,A也是B的逆矩阵。求方阵A的逆矩阵可调用函数inv(A)。
(2) 矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:ABA=A,BAB=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。
6、方阵的行列式
把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。
7、矩阵的秩与迹
(1) 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。
(2) 矩阵的迹矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。
MATLAB中矩阵A的行列式,可以直接用MATLAB的函数det解决。
调用格式是:y=det(A)
注意:其中,A必须是方阵,否则,函数运行会报错。
附录:MATLAB矩阵函数
1.矩阵的生成矩阵
(1)zeros()函数。zeros()函数能够生成元素全为0的矩阵。
(2)ones() 函数。ones()函数能够生成元素全为1的矩阵。
(3)rand()函数。rand()函数能够生成均匀分布随机矩阵。
(4)randn()函数。randn()函数能够生成正态分布随机矩阵。
(5)magic()函数。N阶方阵具有一个共同的奇妙特性,即每一行、每一列或对角线上的元素之和都相等。
(6)diag()函数。diag()函数可以生成对角矩阵。
(7)triu()函数。triu()函数可以生成上三角矩阵。
(8)tril()函数。tril()函数可以生成下三角矩阵。
(9)size()函数。size()函数用来返回指定矩阵的行数和列数。
(10)eye()函数。eye()函数可以生成指定行数和列数的单位矩阵。
2.矩阵变换函数
函数 功能 函数 功能
compan 伴随阵 magic 魔方阵
gallery Higham检验矩阵 pascal Pascal阵
hadamard Hadamard阵 rosser 经典对称特征值检验矩阵
hilb Hilbert阵 toeplitz Toeplitz阵
invhilb 逆Hilbert阵 wilknsion Wilknsion特征值检验矩阵
fliplr 矩阵左右翻转 flipud 矩阵上下翻转
flipdim 矩阵沿特定维翻转 rot90 矩阵逆时针旋转90度
3.矩阵运算函数
函数 功能 函数 功能
cond 矩阵的条件数 norm 向量矩阵的范数
condeig 对应于特征值的条件数 null 矩阵的零空间
det 方阵的行列式值 orth 矩阵的列空间
expm 矩阵的指数函数 rank 矩阵的秩
funm 计算矩阵的函数值 subspace 子空间的夹角
logm 矩阵的对数函数 squtm 矩阵的平方根
B = 41 37 0 81 42
33 31 21 64 47
24 33 31 56 24
22 24 0 64 29
22 27 16 53 35>> det(B) %求B阵的行列式ans = -1578270