matlab学习笔记11_1低维数组操做

一块儿来学matlab-matlab学习笔记11

11_1 低维数组操做repmat函数,cat函数,diag函数

以为有用的话,欢迎一块儿讨论相互学习~Follow Me

参考书籍
《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷
《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效git

数组是MATLAB进行计算和处理的核心内容之一,出于快速计算的须要,MATLAB总把数组看做存储和运算的基本单元,标量数据也被看做是1×1的数组。所以,数组的建立、寻址和操做就显得很是重要。MATLAB提供了各类数组建立的方法和操做方法,使得MATLAB的数值计算和操做更加灵活和方便数组建立和操做是MATLAB运算和操做的基础,针对不一样维数的数组,MATLAB提供了各类不一样的数据建立方法,甚至能够经过建立低维数组来获得高维数组github

一维数组的建立

(1)直接输人法:此时,能够直接经过空格、逗号和分号来分隔数组元素,在数组中输人任意的元素,生成一维数组。
(2)步长生成法:x=a:inc:b,在使用这种方法建立一维数组时,a和b为一维向量数组的起始数值和终止数值,inc为数组的间隔步长;若是a和b为整数时,省略inc能够生成间隔为1的数列。根据a和b的大小不一样,inc能够采用正数,也能够采用负数来生成一维向量数组
(3)等间距线性生成方法:x=linspace(a,b,n),这种方法采用函数在a和b之间的区间内获得n个线性采样数据点。
(4)等间距对数生成方法:x=logspace(a,b,n),采用这种方法时,在设定采样点总个数n的状况下,采样经常使用对数计算获得n个采样点数据值数组

一维数组的建立

  • 在这里插入图片描述

    一维数组访问

  • 当建立数组后,对单个元素的访问,能够直接经过选择元素的索引来加以访问;若是访问数组内的一块数据,则能够经过冒号方式来进行访问;若是访问其中的部分数值,则能够经过构造访问序列或经过构造向量列表来加以访问。在访问数组元素的过程当中,访问的索引数组必须是正整数,不然,系统将会提示一条警告信息。
  • 在这里插入图片描述
  • 一维数组能够是一个行向量,也能够是一列多行的列向量在定义的过程当中,若是元素之间经过“;”分隔元素,那么生成的向量是列向量;经过空格或逗号分隔的元素则为行向量。固然列向量和行向量之间能够经过转置操做“'”来进行相互之间的转化过程。但须要注意的是,若是一维数组的元素是复数,那么通过转置操做“'”后,获得的是复数的共轭转置结果,而采用点一共轭转置操做时获得的转置数组,并不进行共轭操做编辑器

在这里插入图片描述

多维数组的建立

二维数组的建立

  • 二维数组(也就是矩阵)能够经过如下几种方法来建立。
    (1)直接输人二维数组的元素来建立,此时,二维数组的行和列能够经过一维数组的方式来进行建立,不一样行之间的数据能够经过分号进行分隔,同一行中的元素能够经过逗号或空格来进行分隔
    (2)经过MATLAB的ArrayEditor来输人二维数组。建立方法为,单击NewVariable建立图标,此时系统在工做空间的变量列表中出现新的矩阵变量,用户能够改变变量的名称。同时,在MATLAB的工做空间出现矩阵编辑器表格,能够直接输人矩阵的数据。
    (3)对于大规模的数据,能够经过数据表格方式来输人,此时能够单击选择工做空间的ImportData图标,选中已经编写好的矩阵数据文件后,导人工做空间中。
    (4)能够经过MATLAB所提供的其余函数来生成二维数组。
    在这里插入图片描述函数

    三维数组的建立

  • 在建立二维数组的过程当中,须要严格保证所生成矩阵的行和列的数目相同。若是二者的数目不一样,那么系统将会出现错误提示。此外,在直接生成矩阵的过程当中,能够经过按回车键来保证矩阵生成另外一行元素
  • 多维数组(n维数组),如在三维数组中存在行、列和页这样三维,即三维数组中的第三维成为页。在每一页中,存在行和列。在MATLAB中,能够建立更高维的n维数组。但实际上主要用到的仍是三维数组。三维数组的建立方法有如下几种。
    (1)直接建立方法。在生成过程当中,能够选择使用MATLAB提供的一些内置函数来建立二维数组,如zeros、ones、rand、randn等
    (2)经过直接索引的方法进行建立
    (3)使用MATLAB的内置函数reshape和repmat将二维数组转换为三维数组。
    (4)使用cat函数将低维数组转化为高维数组。学习

    repmat函数和cat函数

  • repmat(A,m,n)函数将矩阵A重复摆放m*n次后摆放成为新的矩阵
  • cat(dim,A,B)按dim来联结A和B两个数组
    在这里插入图片描述spa

数组的运算

  • 数组的运算包括数组和标量之间的运算,以及数组和数组之间的运算。对于数组和标量之间的运算,是标量和数组的元素之间直接进行数学运算,比较简单。对于数组和数组之间的运算关系,尤为是对于乘除运算和乘方运算,若是采用点方式进行计算,代表是数组的元素之间的运算关系,而若是是直接进行乘、除、乘方运算,那么则是向量或矩阵之间的运算关系。二者的意义彻底不一样。
  • 此外,还须要注意的是,对于向量的除法运算,左除()和右除(/)的意义不一样。二者之间除数和被除数是不一样的。

在这里插入图片描述

经常使用的标准数组

在这里插入图片描述

diag函数

在这里插入图片描述

低维数组的寻址和搜索

寻址

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

数组的排序

  • MATLAB中使用sort函数进行排序,一维数组排序时,默认使用升序排列,若是须要降序排列,能够在sort函数的第二个参数使用descend来代替。
    在这里插入图片描述
  • 在二维数组进行排序时,sort函数只对数组的列进行排序,若是只对行进行排序,则须要为sort函数提供第二个参数2
    在这里插入图片描述设计

    数组搜索

  • MATLAB中,子数组搜索功能能够经过系统提供的find函数进行搜索,返回符合条件的数组的索引数值,对于二维数组能够返回两个下标数值。
    在这里插入图片描述blog

    最大值和最小值

  • 若是搜索最大值和最小值那么可使用max和min函数来进行搜索,若是搜索的是二维数组,那么这两个函数返回每一列的最大值和最小值
    在这里插入图片描述排序

    低维数组处理函数

    在这里插入图片描述
    在这里插入图片描述
  • 在对角元素和上下三角矩阵时,所定义的第二个参数是以对角线k=0的起始对角线,向上三角方向移动时,k的数值增长,而向下三角方向移动时,k的数值减少。此外,对于非方阵的矩阵,对角线以过第一个元素的方阵的对角线为对角线的起始位置

    kronecker乘法

  • 对于kron函数执行的是kronecker的张量乘法运算,即将第一个参数数组的每个元素和第二个参数数组相乘,造成一个分块矩阵,张量乘法不具备可交换性。
    在这里插入图片描述

相关文章
相关标签/搜索