matlab中的多维数组课件

上传人:阳*** 文档编号:111919651 上传时间:2022-06-21 格式:PPT 页数:31 大小:244.50KB
收藏 版权申诉 举报 下载
matlab中的多维数组课件_第1页
第1页 / 共31页
matlab中的多维数组课件_第2页
第2页 / 共31页
matlab中的多维数组课件_第3页
第3页 / 共31页
资源描述:

《matlab中的多维数组课件》由会员分享,可在线阅读,更多相关《matlab中的多维数组课件(31页珍藏版)》请在装配图网上搜索。

1、2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab Language1Matlab语言及其应用语言及其应用多维数组多维数组 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language24、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)【例【例4-4】 size、length函数函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c) size函数返

2、回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数 length函数返回变量数组的最函数返回变量数组的最大维数大维数 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language34、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n双下标到单下标的转换双下标到单下标的转换【例【例4-5】 sub2ind函数函数-双下标转换为单下标双下标转换为单下标A = 17 24 1 8; 2 22 7 14; 4 6 13 20;sub2ind(size(A),2,2)A(5

3、) 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language44、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n单下标到双下标的转换单下标到双下标的转换【例【例4-6】 ind2sub函数函数-单下标转换为双下标单下标转换为双下标b = zeros(3);b(:) = 1:9IND = 3 4 5 6I,J = ind2sub(size(b),IND) 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab Langu

4、ageMatlab Language55、多维数组、多维数组n多维数组的定义多维数组的定义 在在 MATLAB 的数据类型中,向量可视为一维数组,的数据类型中,向量可视为一维数组, 矩阵可视为二维数组,对于维数矩阵可视为二维数组,对于维数(Dimensions)超过超过2 的数组均可视为多维数组的数组均可视为多维数组(Multidimesional Arrays,简称,简称N-D Arrays)。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language65、多维数组、多维数组 (续)(续

5、)n将两个二维(平面)数组叠在一起,就构成将两个二维(平面)数组叠在一起,就构成三维数组,三维数组,第三维称为页第三维称为页(Page),如下,如下图所示:图所示: (3,4) (3,1) (3,2) (3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)页列页行 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language75、多维数组、

6、多维数组 (续)(续)n三维数组,可对应至一个三维数组,可对应至一个 X - Y - Z 三维三维立体坐标,如下图所示:立体坐标,如下图所示: Z(Z(页页) )Y(Y(列列) )X(X(行行) ) 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language85 5、多维数组、多维数组 (续)(续)n三维数组元素的寻址:可以三维数组元素的寻址:可以(行、列、页行、列、页)来确定来确定。n以维数为以维数为 342 的三维数组为例,其寻址方式如的三维数组为例,其寻址方式如下图所示:下图所示: n

7、数组数组 A 是三维数组,其中是三维数组,其中 A(:,:,1)代表第一页的二代表第一页的二维数组,维数组,A(:,:,2)代表第二页的二维数组。代表第二页的二维数组。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language95、多维数组、多维数组 (续)(续)n多维数组的建立多维数组的建立n建立一个简单的多维数组,可直接由建立一个简单的多维数组,可直接由 MATLAB 命令命令视窗内输入(使用视窗内输入(使用“ ”操作符)操作符)n例例:由两个相同大小二维数组创建三维数组:由两个相同大

8、小二维数组创建三维数组A(:, :, 1) = 1 0 2 5; 4 1 8 7; 3 2 6 3;A(:, :, 2) = 3 5 4 1; 2 6 2 1; 4 2 3 0 A(:,:,1) = 1 0 2 5 4 1 8 7 3 2 6 3A(:,:,2) = 3 5 4 1 2 6 2 1 4 2 3 0 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language105、多维数组、多维数组 (续)(续)执行命令:执行命令:whos A,得到如下结果:,得到如下结果: Name Siz

9、e Bytes Class A 3x4x2 192 double arrayGrand total is 24 elements using 192 bytes 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language116、数组的算术运算、数组的算术运算nMATLAB数组支持线性代数中所有的矩阵运算。数组支持线性代数中所有的矩阵运算。n建立特有的数组运算符,如:建立特有的数组运算符,如:“.*”、“./”等。等。 MATLAB数组运算符列表数组运算符列表运算运算 运算符运算符含义说明含义

10、说明加加 + 相应元素相加相应元素相加 减减 -相应元素相减相应元素相减 乘乘 *矩阵乘法矩阵乘法点乘点乘 .* 相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂 .相应元素进行幂运算相应元素进行幂运算左除或右除左除或右除或或/矩阵左除或右除矩阵左除或右除 左点除或右点除左点除或右点除 .或或./A的元素被的元素被B的对应元素除的对应元素除 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language126、算术运算、算术运算 (续)(续) 【例【例5-1】数组加减法数组加减法a=z

11、eros(2, 3);a(:)=1:6;b=a+2.5b = 3.5000 5.5000 7.5000 4.5000 6.5000 8.5000c=b-ac = 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language136、算术运算、算术运算 (续)(续)【例【例5-2】画出画出y=1/(x+1)的函数曲线,的函数曲线,x0, 100。x=0:100;y=1./(x+1);plot(x, y);legen

12、d(y=1/(x+1); 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language146、算术运算、算术运算 (续)(续)【例【例5-2】生成一个信号:生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t = 0:199./100; %采样时间点采样时间点% 生成信号生成信号x = sin(2*pi*t) + sin(4*pi*t);plot(t,x);legend(x = sin(2*pi*t) + sin(4*pi*t); 2022-6-21matlab中的多维数组Mat

13、lab LanguageMatlab LanguageMatlab LanguageMatlab Language156、算术运算、算术运算 (续)(续) 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language166、算术运算、算术运算 (续)(续)【例【例5-2】点幂点幂“.”举举例例a=1:6a = 1 2 3 4 5 6b=reshape(a,2,3)b = 1 3 5 2 4 6a=a.2a = 1 4 9 16 25 36b=b.2b = 1 9 25 4 16 36 2022

14、-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language177、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立, 结果为结果为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成

15、一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵。矩阵。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language187、关系运算、关系运算 (续)(续)【例】建立【例】建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整除。整除。A = 24, 3

16、5, 13, 22, 63; 23, 39, 47, 80, 80; . 90, 41, 80, 29, 10; 45, 57, 85, 62, 21; 37, 19, 31, 88, 76A =24 35 13 22 6323 39 47 80 8090 41 80 29 10n 57 85 62 21n 19 31 88 76n P = rem(A,3)=0 %被被3除,求余除,求余P = 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 2022-6-21matlab中的多维数组Matlab LanguageMatlab Language

17、Matlab LanguageMatlab Language198、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非)逻辑运算符的运算法则:逻辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。 2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵;矩阵;3、当一个标量

18、与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算优先级最高,逻辑运算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language20【例】在【例】在0,3 区间,求区间,求 的值。要求的值。要求 消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。sinyx x = 0

19、:pi/100:3*pi;y = sin(x);y1 = (y=0).*y; %消去负半波消去负半波 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language21【例】建立矩阵【例】建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。 A = 4,15,-45,10,6;56,0,17,-45,0;find(A=10 & Ax=-43,72,9,16,23,47;y=max(x) %求向量求向量x中的最大值中的最大值y = 72y,l=max(x) %求向量求向量x中的

20、最大值及其该元素的位置中的最大值及其该元素的位置y = 72l = 2 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language249. 数据分析与统计数据分析与统计2. 求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用格式,分别是:(1) max(A):返回一个行向量,向量的第返回一个行向量,向量的第i个元素是矩阵个元素是矩阵A的第的第i列上的最大值;列上的最大值;(2) Y,U=max(A):返回行向量返回行向量Y和

21、和U,Y向量记录向量记录A的每的每列的最大值,列的最大值,U向量记录每列最大值的行号;向量记录每列最大值的行号;(3) max(A,dim):dim取取1或或2。dim取取1时,该函数和时,该函数和max(A)完全相同;完全相同;dim取取2时,该函数返回一个列向时,该函数返回一个列向量,其第量,其第i个元素是个元素是A矩阵的第矩阵的第i行上的最大值。行上的最大值。求最小值的函数是求最小值的函数是min,其用法和,其用法和max完全相同。完全相同。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab

22、Language25【例【例7-2】求矩阵的最大值】求矩阵的最大值x=-43,72,9; 16,23,47;y=max(x) %求矩阵求矩阵x中每列的最大值中每列的最大值y = 16 72 47y,l=max(x) %求矩阵求矩阵x中每列的最大值及其该元素的位置中每列的最大值及其该元素的位置y = 16 72 47l = 2 1 2max(x, ,1), max(x, ,2) %求矩阵中每行的最大值求矩阵中每行的最大值 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language269. 数据

23、分析与统计数据分析与统计n求和与求积求和与求积sum(X):返回向量返回向量X各元素的和。各元素的和。prod(X):返回向量返回向量X各元素的乘积。各元素的乘积。sum(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元素和。列的元素和。prod(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元素乘积。列的元素乘积。sum(A,dim):当当dim为为1时,该函数等同于时,该函数等同于sum(A);当;当dim为为2时,返时,返回一个列向量,其第回一个列向量,其第i个元素是个元素是A的第的第i行的各元素之和。行的各元素之和。p

24、rod(A,dim):当当dim为为1时,该函数等同于时,该函数等同于prod(A);当;当dim为为2时,时,返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素乘积。行的各元素乘积。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language279. 数据分析与统计数据分析与统计n平均值与中值平均值与中值 求数据序列平均值的函数是求数据序列平均值的函数是mean,求数据序列中值的函数是,求数据序列中值的函数是median。两个函数的调用格式为:两个函数的调用格

25、式为:mean(X):返回向量:返回向量X的算术平均值。的算术平均值。median(X):返回向量:返回向量X的中值。的中值。mean(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的算术平均值。列的算术平均值。median(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的中值。列的中值。mean(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于mean(A);当;当dim为为2时,时,返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A的第的第i行的算术平均值。行的算术平均值。median(A,dim

26、):当:当dim为为1时,该函数等同于时,该函数等同于median(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的中值。行的中值。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language282.3 字符串(字符串(string、array of characters)n关于字符串关于字符串nMATLAB处理字符处理字符(Characters)与字符串与字符串(Strings)的相关指令大部分都放在下列目录之中:的相关指令大部分都

27、放在下列目录之中: MATLAB根目录根目录toolboxmatlabstrfunn其中的其中的strfun就是代表就是代表String Functions。若要查询与字符和字符串相关的指令,可在若要查询与字符和字符串相关的指令,可在 MATLAB 下输入:下输入: help strfun 或是或是 help strings 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language292.3 字符串的概念字符串的概念n字符(字符(Characters)可以构成一个)可以构成一个字符串字符串

28、(Strings),或),或字符数组字符数组(character array)。 n一个一个字符串字符串是被视为一个是被视为一个行向量行向量(row vector)。)。 n字符串中的每一个字符串中的每一个字符(含空格),字符(含空格),以其以其 ASCII 码码的形式存放于行向量中,是该字符串变量的一的形式存放于行向量中,是该字符串变量的一个个元素元素(element)。)。 2022-6-21matlab中的多维数组Matlab LanguageMatlab LanguageMatlab LanguageMatlab Language30 2022-6-21matlab中的多维数组Matl

29、ab LanguageMatlab LanguageMatlab LanguageMatlab Language312.3 字符串的概念字符串的概念n字符(字符(Characters)可以构成一个)可以构成一个字符串字符串(Strings),或),或字符数组字符数组(character array)。 n一个一个字符串字符串是被视为一个是被视为一个行向量行向量(row vector)。)。 n字符串中的每一个字符串中的每一个字符(含空格),字符(含空格),以其以其 ASCII 码码的形式存放于行向量中,是该字符串变量的一的形式存放于行向量中,是该字符串变量的一个个元素元素(element)。)。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!