矩阵和数组
矩阵部分
- 特殊矩阵创建
函数 | 描述 |
---|---|
zeros | 创建所有元素为0的矩阵 |
diag | 创建对角矩阵 |
ones | 创建所有元素为1的矩阵 |
eye | 创建单位矩阵 |
magic | 创建魔法矩阵(行和列和相等的矩阵) |
Rand | 随机产生均匀分布的矩阵 |
randn | 随机产生正态分布的矩阵 |
randperm | 产生一个由指定整数元素随机分布构成的矩阵 |
-
矩阵的合并
[A B] 表示矩阵A和B在水平方向上合并
[A;B] 表示矩阵A和B在竖直方向上合并 -
矩阵的寻访
Matlab中下标的标识从1开始
- 全下标法: a(m,n) 表示矩阵的m行n列
- 单下标法: a(k) 表示把所有的列首尾相连排成长列
- 冒号表示全列或全行: a(1,:) 表示寻访第1行所有元素; a(:,1) 表示寻访第1列所有元素; a( : ) 表示单下标法遍历所有元素
- 稀疏矩阵的创建
-
直接创建: S=sparse(i,j,s,m,n)
其中,i 和 j 为矢量,分别是指矩阵中非零元素的行号与列号;s 是一个全 部为非零元素的矢量,元素在矩阵中排列的位置为 (i,j) ;m为输出稀疏矩阵的行数;n为输出矩阵的列数。
-
从对角线元素中创建 S=spdiags(B,d,m,n)
表示取B中元素填充到S的对角线上。d为一个矢量,指定B的每一列填充到S的哪一条对角线上;m,n 表示生成矩阵的维数。
其中,S的主对角线为第0条对角线,主对角线往下依次为第-1,-2,…条对角线 ,主对角线往上一次为第1,2,…条对角线。
当B中列元素比对角线上的位置多的时候,从列的底部开始填充。 -
从外部文件中导入
-
稀疏矩阵与一般矩阵的转化
s=sparse(A) 表示将A转化为稀疏矩阵
B=fulls(s) 表示将s扩充为一般矩阵
- 多维数组的构建
- cat(n,a,b,…) 表示将数组a,b,…连接起来构成新的数组,构成方式由第一个数据指定。n=1 表示列对齐拼接;
n=2 表示行对齐拼接;
n=3 表示沿第3维拼接(多维数组)
… … - repmat(a,b) m表示构成多维数组的源数组,n表示定向各位方向扩展(复制)源数组的个数。
- reshape(a,m,n,k…) a是输入变量的源数组,m,n,k分别为生成数组的维数,其中mnk必须等于a中元素的个数。
数组部分
- 数组运算常用函数
函数 | 描述 |
---|---|
abs(x) | 绝对值或向量的长度 |
sqrt(x) | 开平方 |
conj(x) | 复数的共轭 |
rem(x,y) | 求x除以y的余数 |
exp(x) | 自然指数 |
pow2(x) | 2的指数 |
- 向量运算常用函数
函数 | 描述 |
---|---|
median(x) | 向量x的元素中的中位数 |
std(x) | 向量x的元素中的标准差 |
sort(x) | 对向量x的元素进行排序 |
norm(x) | 向量x的范数 |
dot(x,y) | 向量x和y的内积 |
cross(x,y) | 向量x和y的外积 |
- 多项式的创建
- poly(a)
表示生成一个多项式,多项式的根为a中的元素。但返回值为一个向量,向量的元素为多项式每项系数(按降幂排列)
若a中有复数根,必须以共轭形式成对出现 - poly2str(b,‘s’) 将向量写成多项式的形式,多项式的未知数指定为s
- polyder 对多项式求导
- polyeig 求多项式的特征值
- polyfit 实现多项式的拟合
- roots 求多项式的根
- conv 实现卷积和多项式乘法
- deconv 实现去卷积和多项式除法
- polyint 解析多项式积分
- polyval 按数组运算规则计算多项式的值(多项式的未知数取数组中数时的值)
- polyvalm 按矩阵运算规则计算多项式的值(多项式的未知数取指定矩阵时的值)
- residue 实现部分分式展开,返回结果为3个向量,第1个向量为每个分式的分子,第2个向量为每个分式分母单项式的零点,第3个多项式为余数。