matlab一小时速成笔记
PART1–Value
- 生成矩阵
- 直接法
a=[1,2,3;4,5,6;7,8,9]
- 冒号一维矩阵 a=开始:步长:结束(步长1可以省略)
b=1:1:10
b=1:10
- 函数生成
linespace(开始,结束,元素个数) 等差生成指定素数的一维矩阵,省略个数则生成100个
c=linespace(0,10,5)
- 特殊矩阵
e=eye(4) eye(维数)单位阵
z=zeros(1,4) zeros(维数)全零阵
o=ones(4,1) ones(维数)全1阵
r=rand(4) rand(维数)0-1随机分布
rn=randn(4) randn(维数)0均值高斯分布随机阵
- 矩阵运算
diag_a=diag(a,1) diag行向量,主对角线上方第k条直线用行向量生成对角阵
tril_a=tril(a,1) tril下三角矩阵,triu上三角矩阵
- 加减乘,乘方 a*a
- 点运算 a.*a
- 逆矩阵 prinv(a)
- 特征值,特征向量 [V,D] = eig(a)
- 行列式 det(a)
- 秩 rank(a)
- 伴随 compan(a)
tips:
A*B(为线性代数中定义的矩阵乘法。按乘法定义要求必须有矩阵A的列数等于矩阵B的行数)
A.*B(符号数组的乘法,为按参量A与B对应的分量进行相乘。A与B必须为同型阵列,或至少有一个为标量)
- 矩阵的修改
- 部分替换
chg_a = a
chg_a(2,3) = 4 元素替换
chg_a(1,:) = [2,2,2] 替换行,[]代表删除
chg_a(:,1) = [] 替换列,[]代表删除
- 转置
T_a = a'
- 指定维数拼接
cl_a = cat(1,a,a) 垂直拼接
c2_a = cat(2,a,a) 水平拼接
-
变维
rs_a = reshape(a,1,9) -
信息获取
-
矩阵行列数
[row_a,col_a] = size(a)
- 行列中最大的
len_a = length(a)
- 多维数组
创建
- 直接法(较少用)
- 扩展法(较少用ÿ