MATLAB数组和数组运算.ppt
《MATLAB数组和数组运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB数组和数组运算.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Hefei University of TechnologyInstitute of Sound and Vibration ResearchMATLAB 数组和数组运算MATLAB数组数组 MATLAB的一个重要功能是能够进行向量和矩阵运的一个重要功能是能够进行向量和矩阵运算,算,MATLAB中的多数功能也是基于向量和矩阵运算。中的多数功能也是基于向量和矩阵运算。因此,矩阵在因此,矩阵在MATLAB中具有非常重要的位置。在中具有非常重要的位置。在MATLAB中向量和矩阵主要由数组表示,数组是中向量和矩阵主要由数组表示,数组是MATLAB的核心数据结构。的核心数据结构。数组是计算机编程语言上对
2、一组数的通称,矩阵和向数组是计算机编程语言上对一组数的通称,矩阵和向量是数学上的概念。量是数学上的概念。数组包括矩阵和向量,一维数组是向量,二维数组是数组包括矩阵和向量,一维数组是向量,二维数组是矩阵。所以,矩阵是数组的子集。矩阵。所以,矩阵是数组的子集。2MATLAB 数组的创建数组的创建一维数组一维数组 MATLAB一维数组的创建主要包括一维行向量和一维一维数组的创建主要包括一维行向量和一维列向量的创建。创建一维行向量和一维列向量主要的区列向量的创建。创建一维行向量和一维列向量主要的区别在于创建数组时,数组元素是按照行排列还是按照列别在于创建数组时,数组元素是按照行排列还是按照列排列。排列
3、。一维行向量:把所有数组元素用空格或者逗号分隔,一维行向量:把所有数组元素用空格或者逗号分隔,并用方括号把所有数组元素括起来。并用方括号把所有数组元素括起来。一维列向量:把所有数组元素用分号分隔,并用方括一维列向量:把所有数组元素用分号分隔,并用方括号把所有数组元素括起来。号把所有数组元素括起来。3MATLAB 数组的创建数组的创建一维数组一维数组 等差数组的创建等差数组的创建 利用冒号生成等差数组利用冒号生成等差数组,格式格式 Start_valStart_val:StepStep:Stop_valStop_val Start_val Start_val表示等差数组的第一个元素表示等差数组的
4、第一个元素 StepStep表示步长,步长为正代表递增,步长为负,代表示步长,步长为正代表递增,步长为负,代 表递减,表递减,默认为默认为1 1 Stop_valStop_val表示等差数组的最后一个元素表示等差数组的最后一个元素 linspace linspace函数函数 :linspace(Start_val,Stop_val,N),linspace(Start_val,Stop_val,N),默认默认N=100N=100 等比数组的创建等比数组的创建 logspacelogspace函数函数 :logspace(Start_val,Stop_val,N),logspace(Start_v
5、al,Stop_val,N),默认默认N=50N=50 产生产生10Start_val10Start_val到到10Stop_val10Stop_val包含包含N N个元素的等比数组个元素的等比数组4MATLAB 数组的创建数组的创建二维数组二维数组 创建二维数组与创建一维数组的方式类似。在创建二维创建二维数组与创建一维数组的方式类似。在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分数组时,用逗号或者空格区分同一行的不同元素,用分号区分不同行。号区分不同行。5MATLAB 数组的创建数组的创建其他数组生成函数其他数组生成函数函函 数数说说 明明zeros产生元素全为产生元素全为0的数
6、组的数组ones产生元素全为产生元素全为1的数组的数组eye产生单位数组产生单位数组rand产生均匀分布的随机数数组,数值范围(产生均匀分布的随机数数组,数值范围(0,1)randn产生均值为产生均值为0,方差为,方差为1的正态分布随机数数组的正态分布随机数数组diag获取数组的对角线元素,也可生成对角数组获取数组的对角线元素,也可生成对角数组6MATLAB 数组的创建数组的创建其他数组生成函数其他数组生成函数 zeros zeros、onesones、randrand、randnrandn、eyeeye 上述几个函数调用格式相同:上述几个函数调用格式相同:A=zeros(n)A=zeros(
7、n)返回一个返回一个n n n n阶零数组;阶零数组;A=zeros(m,n)A=zeros(m,n)返回一个返回一个mm n n阶零数组;阶零数组;函数函数diag()diag()函数功能:函数功能:获取数组的对角线元素,也可生成对角数组获取数组的对角线元素,也可生成对角数组 a=diag(A)a=diag(A)返回返回A A的对角元素,的对角元素,a a是列向量是列向量;B=diag(a)B=diag(a)返回一个返回一个n n n n阶数组;阶数组;7MATLAB 数组的创建数组的创建其他数组生成函数示例其他数组生成函数示例 A=eye(3)A=1 0 0 0 1 0 0 0 1 A=r
8、and(3)A=0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 A=zeros(3)A=0 0 0 0 0 0 0 0 0 A=ones(2,3)A=1 1 1 1 1 1 8MATLAB 数组的创建数组的创建其他数组生成函数示例其他数组生成函数示例 A=rand(3,5)A=0.4218 0.9595 0.8491 0.7577 0.6555 0.9157 0.6557 0.9340 0.7431 0.1712 0.7922 0.0357 0.6787 0.3922 0.7060 b=diag(A)b=0.4218
9、0.65570.6787 C=diag(b)C=0.4218 0 0 0 0.6557 0 0 0 0.67879MATLAB 数组寻址数组寻址 数组中总是包含多个元素,因此在对数组的单个元素数组中总是包含多个元素,因此在对数组的单个元素或者多个元素进行访问时,需要对数组进行寻址运算。或者多个元素进行访问时,需要对数组进行寻址运算。在在 MATLAB MATLAB 中,数组寻址是通过对数组下标的访问来实中,数组寻址是通过对数组下标的访问来实现的。现的。提取数组提取数组A的第的第m行、第行、第n列的元素值,使用列的元素值,使用A(m,n)可以可以得到。同样,将矩阵得到。同样,将矩阵A的第的第m行
10、、第行、第n列的元素值赋为列的元素值赋为val,使用命令,使用命令A(m,n)=val。如果在数组寻址时,行或列的值大于数组的大小,则出如果在数组寻址时,行或列的值大于数组的大小,则出错。错。10MATLAB 数组寻址数组寻址 如果需要访问数组中的多个数据,可以通过下标数组进如果需要访问数组中的多个数据,可以通过下标数组进行行 例如:例如:A(1,2,2,3)利用冒号操作符也可以访问数组利用冒号操作符也可以访问数组裁减数组裁减数组 例如:例如:A(2:3,1:2)A(1:2:4,1:2)A(1:2:4,:)A(:,1:2)A(:,:)11MATLAB 数组的查找数组的查找数组的查找函数是数组的
11、查找函数是findfind,它能够查找数组中的非零数组,它能够查找数组中的非零数组元素,并返回其数组索引值。元素,并返回其数组索引值。findfind函数在函数在MATLABMATLAB中的使用语法形式:中的使用语法形式:(1)(1)a=a=find(Afind(A)返回数组返回数组A A中非零元素的单下标索引中非零元素的单下标索引(2)(2)注意单下标索引是按列计数注意单下标索引是按列计数(2)a,b=(2)a,b=find(Afind(A)返回数组返回数组A A中非零元素的双下标索引放方式。中非零元素的双下标索引放方式。12MATLAB 数组的排序数组的排序在很多时候我们需要对一个给定的数
12、据向量进行排序。在很多时候我们需要对一个给定的数据向量进行排序。为完成这一操作,为完成这一操作,MATLAB MATLAB 提供了提供了 sort sort 函数,该函数将函数,该函数将任意给定的序列进行排序。任意给定的序列进行排序。sort sort 函数的调用格式有:函数的调用格式有:B=sort(A)B=sort(A)B=sort(A,dim)B=sort(A,dim)B=sort(.,mode)B=sort(.,mode)B,IX=sort(.)B,IX=sort(.)其中的其中的 B B 为保存结果的数组;为保存结果的数组;A A 为待排序的数组,当为待排序的数组,当 A A 为多维
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数组 运算
限制150内