matlab之矩阵

矩阵和数组

标量:1×1的矩阵
向量:n×1的矩阵或者1×n的矩阵
矩阵:二维数组,其中向量和标量都是矩阵的特例,0×0的矩阵是空矩阵
数组:可以一维数组,二维,多维

一.矩阵的创建

1.直接输入创建

a=[1 2 3;4 5 6]

2.通过语句创建

① from:step:to
该方法可以生成一个行向量,其中:
from:开始值
step:步进(默认为1)
to:结束值

② linespace(a,b,n)和logspace(a,b,n)
这两个方法可以生成一个行向量
其中:a,b,n分别表示开始值,结束值,生成数个数(n默认为50)

linespace(a,b,n)从a到b生成线性的n个数据(即间隔相等)
例如:linespace(1,5,3) % [1,3,5]

logspace(a,b,n)从10a和10b之间按照对数等分成n个元素
例如:logspace(0,2,3) %[1,10,100]

3.通过函数生成特殊矩阵
函数名 功能
zeros(m,n) 产生m×n的全0矩阵
ones(m,n) 产生m×n的全1矩阵
rand(m,n) 产生均匀分布的m×n随机矩阵,元素取值范围为0.0~1.0
randn(m,n) 产生正态分布的m×n随机矩阵
magic(m,n) 产生N阶魔方矩阵(矩阵的行、列和对角线上的元素的和相等)
eye(m,n) 产生m×n的单位矩阵
true(m,n) 产生m×n的逻辑矩阵,全为true
false(m,n) 产生m×n的逻辑矩阵,全为false

二.矩阵的访问

1.单下标访问

在matlab中单下标就是把一个矩阵的所有列从左到右连接成一个一维长列,然后对元素位置进行编号。
假设矩阵A为

12 43 72
22 51 83
33 62 92

则矩阵A编号

1 4 7
2 5 8
3 6 9

单下标访问
A(3) %得到33

2.双下标访问

对于矩阵A(r,c),其中
r是row,代表行
c是column,代表列

3.子块矩阵访问

对于矩阵a

1 2 0
3 4 0
5 6 9

全下标方式
① a([1 3],[2 3]):取行数为1、3,列数为2、3的元素构成子矩阵

2 0
6 9

② a(1:3,2:3):取行数为1 ~ 3,列数为2 ~ 3

2 0
4 0
6 9

③ a(:,3): ’ : '代表取所有行,这里取1~3行,3列

0
0
9

单下标方式

a([1 3;2 6]):取单下标为1,3,2,6的元素构成子矩阵

1 5
3 6

三.矩阵的赋值

会访问就会赋值

四.矩阵的删除

赋值成空矩阵[]就行

五.大矩阵的生成

两个大小相同的矩阵A,B

左右拼接
[A B]

上下拼接
[A;B]

repmat(A,m,n) %以矩阵A为一个元素生成m×n的大矩阵

六.矩阵的翻转和变形

函数名 功能
triu(X) 产生X矩阵的上三角矩阵,其余元素补0
tril(X) 产生X矩阵的下三角矩阵, 其余元素补0
flipud(X) 使矩阵X沿水平轴上下翻转
fliplr 使矩阵X沿垂直轴左右翻转
flipdim(X,dim) 使矩阵X沿特定轴翻转。dim=1,按行维翻转;dim=2,按列维翻转
rot90(X) 使矩阵X逆时针旋转90度
reshape(X,m,n) 将X的行列排列成m行n列。元素的单下标是不变的

七.矩阵信息获取

函数名 功能
size() 返回矩阵大小,m×n
ndims 返回矩阵的维度(列数)
length 返回行数
numel 返回元素个数

八.矩阵的运算

①矩阵的函数运算

函数名 功能
det(X) 计算方阵行列式
rank(X) 求矩阵的秩,得出的行列式不为0的最大方阵边长
inv(X) 求矩阵的逆阵,当方阵X的det(X)不等于0,逆矩阵才存在。X和X-1相乘为单位矩阵
[v,d]=eig(X) 计算矩阵特征值和特征向量。如果方程Xv=vd存在非零解,则v为特征向量,d为特征值
diag(X) 产生X矩阵的对角阵
[l,u] = lu(X) 方阵分解为一个准下三角方阵和一个上三角方阵的乘积。l为准下三角矩阵,必须交换两行才可以成为真的下三角阵
[q,r] = qr(X) m×n阶矩阵X分解为一个正交方阵Q和一个与X同阶的上三角矩阵R的乘积。方阵Q的边长为矩阵X的n和m中的较小着,且其行列式值为1

②矩阵和数组的算术运算
(1)矩阵和数组的加减运算
1.矩阵加减表达式分别为"A+B",“A-B”。
AB矩阵必须是大小相同才可以进行加减运算如果AB有一个是标量,则该标量与矩阵的每个元素进行运算。
2.矩阵的乘法运算表达式为"A*B"
矩阵相乘符合线性代数中矩阵相乘,
数组相乘是对应元素两两相乘,数组的尺寸完全一致

③矩阵和数组的转置

矩阵转置 数组转置
A’表示矩阵A的转置,如果A为复数矩阵,则为共轭转置 A.'表示数组A的转置,如果数组A为复数矩阵,则不是共轭转置

④矩阵和数组的数学函数

函数名 含义
abs 绝对值或者复数模
sqrt 平方根
real 取实部
imag 取虚部
conj 复数共轭
sin 正弦
asin 反正弦
sinh 双曲正弦
cosh 双曲余弦
tanh 双曲正切
rat 有理数近似
mod 取余
round 四舍五入到整数
fix 向最接近0取整
floor 向下取整
ceil 向上取整
sign 符号函数
rem 求余数留数
exp 自然指数
log 自然对数
log10 以10为底的对数
pow2 2的幂
bessel 贝塞尔函数
gamma 伽马函数

你可能感兴趣的:(matlab)