1.矩阵的创建

在MATLAB中一般情况下矩阵就是数组
特殊:
当只有一行或一列的矩阵称为向量
只有一个元素称为标量

row=[E1,E2;E3…En]

eg:
在这里插入图片描述
在这里插入图片描述

初值:步长:终值创建向量

在这里插入图片描述注意

  1. 步长可以为正数,负数,小数。不指定步长默认为1
  2. 如果指定区间不是步长的整数倍时,为不超过终值的最近数
    在这里插入图片描述

创建特殊矩阵函数

函数名称函数功能函数名称函数功能
zeros创建所有元素为0的矩阵pascal创建PASCAL矩阵
diag创建对角矩阵rand随机产生均匀分布的矩阵
ones创建所有元素为1的矩阵randn随机产生正态分布的矩阵
eye创建单位矩阵randperm产生一个由指定整数元素随机分布构成的矩阵

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:每次随机矩阵不同因为其随机数种子不同,设置随机数种子方法为
rand(‘state’,0);
在这里插入图片描述

2.矩阵的合并

注意:如果是水平合并,两个矩阵的行数必须相同;竖直合并两个列数列数必须相同

  • C=[A B]表示将矩阵水平方向合到一起
  • C=[A;B]表示将矩阵竖直方向合到一起
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.矩阵的寻访与赋值

矩阵的标识

  • 全下标法A(n1,n2);(注意:MatLab矩阵第一个元素下标为1,1)
    在这里插入图片描述
    在这里插入图片描述
  • 单下标标识法A(n1);

MatLab中储存矩阵的形式是从左向右开始,把每一列和成一列

在这里插入图片描述

如果M*N的矩阵全下标标识的位置的行列为(a,b)
则n1=(b-1)*M+a
在这里插入图片描述

sub2ind根据全下标换算为单下标
ind2sub根据单下标换算为全小标

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 逻辑1标识法
    这种方法是利用矩阵A相对位置的逻辑数组B来对矩阵A进行寻访,数组B每一个1(true)值代表A中这个位置可以寻访。多个元素只需要将符合元素的位置设置为1即可

在这里插入图片描述

  • 在MatLab中:代表全部元素
    在这里插入图片描述

矩阵的赋值

根据上面的矩阵标识来给矩阵赋值
在这里插入图片描述

4.多维矩阵

创建方法:

  • 通过全下标赋值的方法创建多维数组
  • 二维数组合成多维数组
  • 函数ones、zeros、rand、randn函数创建特殊的多维矩阵
  • 借助cat、repmat、reshape等函数创建多维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
cat函数用法
cat函数第一个参数为扩展方向的维度号,eg:3表示向三维扩展
二维方向扩展的矩阵
在这里插入图片描述
一维方向扩展的矩阵
在这里插入图片描述
在这里插入图片描述
repmat函数用法

repmap函数第一个参数是构成多维数组的源数组,第二参数是指定各维方向扩展的源数组个数。

[1,2,3]代表行方向扩展1次,列方向扩展2次,页方向扩展3次(3个二维数组)
在这里插入图片描述
reshape函数用法
reshape函数第一个参数是源数组,后面的参数的意思为数组的行数列数和页数。
需要注意的是将要生成的数组的个数必须与原数组相同。

5.稀疏矩阵

MatLab中稀疏矩阵仅储存非0元素及其对应位置,其他位置在访问的时候默认用0填充。节省空间

在这里插入图片描述

稀疏矩阵的建立

  • 一般数组转化为稀疏矩阵sparse函数

在这里插入图片描述

  • 直接创建稀疏矩阵

在这里插入图片描述
前两个变量是元素在矩阵中排列的位置坐标,第三个输入变量为对应位置的值
(1,3)为1;(3,1)为2等等。

  • 从对角线元素中创建稀疏矩阵

函数spdiags(B,d,m,n)创建一个m行n列的稀疏矩阵,其非零元素来自矩阵B中的列元素且按照对角线排列,参数d用来指定对角线的位置,主对角线的d为0,向上移动编号+1,向下移动编号-1。
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐