Matlab学习笔记(一)矩阵和数组的创建

矩阵和数组

矩阵部分

  1. 特殊矩阵创建
函数 描述
zeros 创建所有元素为0的矩阵
diag 创建对角矩阵
ones 创建所有元素为1的矩阵
eye 创建单位矩阵
magic 创建魔法矩阵(行和列和相等的矩阵)
Rand 随机产生均匀分布的矩阵
randn 随机产生正态分布的矩阵
randperm 产生一个由指定整数元素随机分布构成的矩阵
  1. 矩阵的合并
    [A B] 表示矩阵A和B在水平方向上合并
    [A;B] 表示矩阵A和B在竖直方向上合并

  2. 矩阵的寻访

    Matlab中下标的标识从1开始

  • 全下标法: a(m,n) 表示矩阵的m行n列
  • 单下标法: a(k) 表示把所有的列首尾相连排成长列
  • 冒号表示全列或全行: a(1,:) 表示寻访第1行所有元素; a(:,1) 表示寻访第1列所有元素; a( : ) 表示单下标法遍历所有元素
  1. 稀疏矩阵的创建
  • 直接创建: 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扩充为一般矩阵

  1. 多维数组的构建
  • 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中元素的个数。

数组部分

  1. 数组运算常用函数
函数 描述
abs(x) 绝对值或向量的长度
sqrt(x) 开平方
conj(x) 复数的共轭
rem(x,y) 求x除以y的余数
exp(x) 自然指数
pow2(x) 2的指数
  1. 向量运算常用函数
函数 描述
median(x) 向量x的元素中的中位数
std(x) 向量x的元素中的标准差
sort(x) 对向量x的元素进行排序
norm(x) 向量x的范数
dot(x,y) 向量x和y的内积
cross(x,y) 向量x和y的外积
  1. 多项式的创建
  • poly(a)
    表示生成一个多项式,多项式的根为a中的元素。但返回值为一个向量,向量的元素为多项式每项系数(按降幂排列)
    若a中有复数根,必须以共轭形式成对出现
  • poly2str(b,‘s’) 将向量写成多项式的形式,多项式的未知数指定为s
  • polyder 对多项式求导
  • polyeig 求多项式的特征值
  • polyfit 实现多项式的拟合
  • roots 求多项式的根
  • conv 实现卷积和多项式乘法
  • deconv 实现去卷积和多项式除法
  • polyint 解析多项式积分
  • polyval 按数组运算规则计算多项式的值(多项式的未知数取数组中数时的值)
  • polyvalm 按矩阵运算规则计算多项式的值(多项式的未知数取指定矩阵时的值)
  • residue 实现部分分式展开,返回结果为3个向量,第1个向量为每个分式的分子,第2个向量为每个分式分母单项式的零点,第3个多项式为余数。

你可能感兴趣的:(Matlab)