第二章数值数组及其运算优秀课件.ppt

上传人:石*** 文档编号:91241455 上传时间:2023-05-24 格式:PPT 页数:46 大小:1.67MB
返回 下载 相关 举报
第二章数值数组及其运算优秀课件.ppt_第1页
第1页 / 共46页
第二章数值数组及其运算优秀课件.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《第二章数值数组及其运算优秀课件.ppt》由会员分享,可在线阅读,更多相关《第二章数值数组及其运算优秀课件.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章数值数组及其运算第1页,本讲稿共46页2.2.1一维数组的创建一维数组的创建(1)(1)逐个元素输入法:最简单,最通用的构造数组的方法。逐个元素输入法:最简单,最通用的构造数组的方法。x x2 pi/2 sqrt(3)3+5i2 pi/2 sqrt(3)3+5i(2)(2)冒号生成法冒号生成法:通过通过“步长步长”设定,生成一维设定,生成一维“行行”数组的方法。数组的方法。x=a:inc:b x=a:inc:b(3)(3)定定数数线线性性采采样样法法:在在设设定定的的“总总点点数数”下下,均均匀匀采采样样生生成成一一维维“行行”数组。数组。x=linspace(a,b,n)x=linsp

2、ace(a,b,n)(4)(4)定定数数对对数数采采样样法法:在在设设定定的的“总总点点数数”下下,经经“常常用用对对数数”采采样样生生成成一一维维“行行”向向量量;生生成成数数组组的的第第一一个个元元素素值值为为 ,最后一个元素值为,最后一个元素值为 x=logspace(a,b,n)x=logspace(a,b,n)第2页,本讲稿共46页2.2.22.2.2一维数组的子数组寻访和赋值一维数组的子数组寻访和赋值 【例【例2.2.2-12.2.2-1】子数组的寻访(】子数组的寻访(AddressAddress)rand(state,0)rand(state,0)%把均匀分布伪随机发生器把均匀分

3、布伪随机发生器%置为置为0 0状态状态 x=rand(1,5)x=rand(1,5)%产生产生x x的均布随机数组的均布随机数组 x(3)x(3)%寻访数组寻访数组x x的第三个元素的第三个元素x(1 2 5)x(1 2 5)%寻访数组寻访数组x x的第一、二、五个元素组成的子数组的第一、二、五个元素组成的子数组 x(1:3)x(1:3)%寻访前三个元素组成的子数组寻访前三个元素组成的子数组 x(3:end)x(3:end)%寻访除前寻访除前2 2个元素外的全部其他个元素外的全部其他%end%end是最后一个元素的下标是最后一个元素的下标x(3:-1:1)x(3:-1:1)%由前三个元素倒排构

4、成的子数组由前三个元素倒排构成的子数组 x(find(x0.5)x(find(x0.5)%由大于由大于0.50.5的元素构成的子数组的元素构成的子数组 x(1 2 3 4 4 3 2 1)x(1 2 3 4 4 3 2 1)%对元素可以重复寻访,使所得数组长度允许大于原数组。对元素可以重复寻访,使所得数组长度允许大于原数组。第3页,本讲稿共46页【例【例2.2.2-22.2.2-2】子数组的赋值(】子数组的赋值(AssignAssign)。)。x(3)=0%把上例中第三个元素重新赋值为把上例中第三个元素重新赋值为0 x(1 4)=1 1把当前把当前x数组的第一、四个元素都赋值为数组的第一、四个

5、元素都赋值为1 第4页,本讲稿共46页2.3二维数组的创建二维数组的创建2.3.1直接输入法直接输入法二维数组必须有一下三个要素:二维数组必须有一下三个要素:整个输入数组必须以方括号整个输入数组必须以方括号“”为其首尾;为其首尾;数数组组的的行行与与行行之之间间必必须须用用分分号号“;”或或回回车车enter隔离;隔离;数组元素必须由逗号数组元素必须由逗号“,”或空格分隔。或空格分隔。第5页,本讲稿共46页【例例2.3.1-1】在在MATLAB环环境境下下,用用下下面面三三条条指令创建二维数组指令创建二维数组C。a=2.7358;b=33/79;C=1,2*a+i*b,b*sqrt(a)sin

6、(pi/4),a+5*b,3.5+i 第6页,本讲稿共46页【例2.3.1-2】复数数组的另一种输入方式。M_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16CN=M_r+i*M_i 第7页,本讲稿共46页【例例 2.3.2-1】创创 建建 和和 保保 存存 数数 组组 AM的的 MyMatrix.m文件。文件。(1)打开文件编辑调器,输入以下内容)打开文件编辑调器,输入以下内容%MyMatrix.m Creation and preservation of matrix AMAM=101,102,103,104,105,106,107,108,109;.201,202,

7、203,204,205,206,207,208,209;.301,302,303,304,305,306,307,308,309;(2)保存此文件,并且起名)保存此文件,并且起名MyMatrix(3)以以后后只只要要在在MATLAB指指令令窗窗中中,运运行行此此文文件,数组件,数组AM就会自动生成于就会自动生成于MATLAB内存中内存中第8页,本讲稿共46页2.4二维数组元素的标识二维数组元素的标识2.4.1“全下标全下标”标识标识 采采用用“全全下下标标”标标识识法法,即即指指出出是是“第第几行,第几列几行,第几列”的元素的元素例如:例如:A(2,3)就表示二维数组就表示二维数组A的的“第二

8、行,第第二行,第三列三列”的元素的元素多维数组也同样多维数组也同样第9页,本讲稿共46页2.4.2“单下标单下标”标识标识 “单单下下标标(Linear Linear IndexIndex)”标标识识就就是是“只只用用一一个个下标来指明元素在数组中的位置下标来指明元素在数组中的位置”这这种种方方法法首首先先要要对对二二维维数数组组的的所所有有元元素素进进行行“一一维维编编号号”,所所谓谓“一一维维编编号号”就就是是:先先设设想想把把二二维维数数组组的的所所有有列列,按按先先左左后后右右的的次次序序、首首尾尾相相接接排排成成“一一维维长长列列”。然然后后,自自上上往下对元素位置进行编号。往下对元

9、素位置进行编号。“单单下下标标”与与“全全下下标标”的的转转换换关关系系:以以(mnmn)的的二二维维数数组组A A为为例例,若若“全全下下标标”元元素素位位置置是是“第第r r行行,第第c c列列”,那那么么相相应应的的“单单下下标标”为为l=(c-1)ml=(c-1)mr r。MATLABMATLAB有有两两个个指指令令可以实现以上标识方法之间的转换:可以实现以上标识方法之间的转换:sub2ind根据全下标换算出单下标根据全下标换算出单下标ind2sub根据单下标换算出全下标根据单下标换算出全下标第10页,本讲稿共46页2.4.3“逻辑逻辑1”标识标识 元元素素或或是是0或或是是1的的数数

10、组组是是“逻逻辑辑数数组组(Logic Array)”。所所谓谓“逻逻辑辑1”标标识识法法,就就是是通通过过与与矩矩阵阵同同样样大大小小的的逻逻辑辑数数组组中中“逻逻辑辑值值1”所所在在的的位位置置,指指示示出出数数组组中中的的元元素素位位置置。实实际际应应用用中中,一一般般用用于于寻找大于某值的元素。寻找大于某值的元素。【例【例2.4.3-1】找出数组中所有绝对值大于】找出数组中所有绝对值大于3的元素。的元素。A=zeros(2,5);A(:)=-4:5L=abs(A)3islogical(L)X=A(L)第11页,本讲稿共46页【例【例2.4.3-2】演示逻辑数组与一般双精度数值】演示逻辑

11、数组与一般双精度数值数组的关系和区别。数组的关系和区别。(1 1)逻辑数组与双精度数组的相同之处)逻辑数组与双精度数组的相同之处Num=1,0,0,0,1;0,0,0,0,1;Num=1,0,0,0,1;0,0,0,0,1;N_L=Num=LN_L=Num=Lc_N=class(Num)c_N=class(Num)c_L=class(L)c_L=class(L)(2 2)逻辑数组与双精度数组的差别)逻辑数组与双精度数组的差别islogical(Num)islogical(Num)Y=A(Num)Y=A(Num)第12页,本讲稿共46页有关逻辑数组的补充说明有关逻辑数组的补充说明逻辑数组一方面具

12、有双精度性,另一方面逻辑数组一方面具有双精度性,另一方面又区别于一般的双精度数组又区别于一般的双精度数组逻辑数组产生于逻辑函数或逻辑运算,它逻辑数组产生于逻辑函数或逻辑运算,它具有具有“逻辑标识逻辑标识”能力。能力。从本质上说,逻辑数组是双精度数组的子从本质上说,逻辑数组是双精度数组的子类。它继承了双精度类数组的全部性质,类。它继承了双精度类数组的全部性质,又有自己特定的属性和能力。又有自己特定的属性和能力。第13页,本讲稿共46页2.5 2.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值【例【例2.5-12.5-1】不同赋值方式示例。】不同赋值方式示例。A=zeros(2,4)A=

13、zeros(2,4)%创建创建(24)(24)的全零数组的全零数组A(:)=1:8A(:)=1:8%全元素赋值方式全元素赋值方式 s=2 3 5;s=2 3 5;%产生单下标数组行数组产生单下标数组行数组A(s)A(s)%由由“单下标行数组单下标行数组”寻访产生寻访产生A A元素组成的行数组元素组成的行数组Sa=10 20 30Sa=10 20 30%Sa%Sa是长度为是长度为3 3的的“列数组列数组”A(s)=SaA(s)=Sa%单下标方式赋值单下标方式赋值A(:,2 3)=ones(2)A(:,2 3)=ones(2)%双下标赋值方式:把双下标赋值方式:把A A的第的第2 2、3 3列元素

14、全赋为列元素全赋为1 1 第14页,本讲稿共46页2.6 2.6 执行数组运算的常用函数执行数组运算的常用函数 2.6.1函数数组运算规则的定义:函数数组运算规则的定义:对于对于(mn)(mn)数组数组函数函数 的数组运算规则是:的数组运算规则是:2.6.2执行数组运算的常用函数执行数组运算的常用函数第15页,本讲稿共46页【例【例2.6.2-1】演示】演示pow2的数组运算性质。的数组运算性质。A=1:4;5:8A=1:4;5:8pow2(A)pow2(A)第16页,本讲稿共46页2.7数组运算和矩阵运算数组运算和矩阵运算2.7.1数组运算和矩阵运算指令对照汇总数组运算和矩阵运算指令对照汇总

15、【例 2.7.1-1】两种不同转置的比较clear;A=zeros(2,3);A(:)=1:6;A=A*(1+i)A_A=A.A_M=A 第17页,本讲稿共46页2.8多项式的表达方式及其操作多项式的表达方式及其操作2.8.1多项式的表达和创建多项式的表达和创建一一多项式表达方式的约定多项式表达方式的约定MATLAB约定降幂多项式:约定降幂多项式:用系数行向量用系数行向量表示。表示。二二多项式行向量的创建方法多项式行向量的创建方法(1)多项式系数向量的直接输入法)多项式系数向量的直接输入法即按照约定,把多项式的各项系数依次排放在行向量的元素位置上。即按照约定,把多项式的各项系数依次排放在行向量

16、的元素位置上。需要注意的是:多项式系数应以降幂排列,假如多项式中缺某幂次项,需要注意的是:多项式系数应以降幂排列,假如多项式中缺某幂次项,那么认为该幂次项的系数为零。那么认为该幂次项的系数为零。(2)利用指令:)利用指令:Ppoly(AR),产生多项式系数向量。,产生多项式系数向量。若若AR是方阵,则多项式是方阵,则多项式P是该方阵的特征多项式;是该方阵的特征多项式;若若,则,则AR的元素被认为是多项式的元素被认为是多项式P的根。的根。第18页,本讲稿共46页【例【例2.8.1.2-1】求】求3阶方阵阶方阵A的特征多项式。的特征多项式。A=11 12 13;14 15 16;17 18 19;

17、A=11 12 13;14 15 16;17 18 19;PA=poly(A)PA=poly(A)PPA=poly2str(PA,s)PPA=poly2str(PA,s)【例例 2.8.1.2-22.8.1.2-2】由由给给定定根根向向量量求求多多项项式式系系数数向量。向量。R=-0.5,-0.3+0.4*i,-0.3-0.4*i;R=-0.5,-0.3+0.4*i,-0.3-0.4*i;P=poly(R)P=poly(R)PR=real(P)PR=real(P)PPR=poly2str(PR,x)PPR=poly2str(PR,x)第19页,本讲稿共46页2.8.2 2.8.2 多项式运算函

18、数多项式运算函数【例【例2.8.2-1】求的】求的“商商”及及“余余”多项式。多项式。p1=conv(1,0,2,conv(1,4,1,1);p2=1011;q,r=deconv(p1,p2);cq=商多项式为商多项式为;cr=余多项式为余多项式为;disp(cq,poly2str(q,s),disp(cr,poly2str(r,s)第20页,本讲稿共46页【例【例2.8.2-2】两种多项式求值指令的差别。】两种多项式求值指令的差别。S=pascal(4)P=poly(S);PP=poly2str(P,s)PA=polyval(P,S)PM=polyvalm(P,S)第21页,本讲稿共46页【

19、例【例2.8.2-3】部分分式展开。】部分分式展开。a=1,3,4,2,7,2;分母多项式系数向量分母多项式系数向量b=3,2,5,4,6;分子多项式系数向量分子多项式系数向量r,s,k=residue(b,a)第22页,本讲稿共46页2.9标准数组生成函数和数组操作函数标准数组生成函数和数组操作函数2.9.1标准数组生成函数标准数组生成函数【例【例2.9.1-12.9.1-1】标准数组产生的演示。】标准数组产生的演示。ones(1,2)ones(1,2)%产生长度为产生长度为2 2的全的全1 1行数组行数组 ones(2)ones(2)%产生产生(22)(22)的全的全1 1阵阵 randn

20、(state,0)randn(state,0)%把正态随机数发生器置把正态随机数发生器置0 0randn(2,3)randn(2,3)%产生产生(23)(23)的正态随机阵的正态随机阵 D=eye(3)D=eye(3)%产生产生(33)(33)的单位阵的单位阵 diag(D)diag(D)%取取D D阵的对角元素阵的对角元素 diag(diag(D)diag(diag(D)%内内diagdiag取取D D的对角元,外的对角元,外diagdiag利用一维数组生成对角阵利用一维数组生成对角阵 repmat(D,1,3)repmat(D,1,3)%在水平方向在水平方向“铺放铺放”三个三个D D阵阵第

21、23页,本讲稿共46页2.9.1数组操作函数数组操作函数【例【例2.9.2-1】diag与与reshape的使用演示。的使用演示。a=-4:4%产生一维数组产生一维数组A=reshape(a,3,3)%把一维数组把一维数组a重排成重排成的二维数组的二维数组a1=diag(A,1)%取取A阵阵“第一上对角线第一上对角线”的元素的元素A1=diag(a1,-1)%产生以产生以a1数组元素为数组元素为“第一下对角线第一下对角线”元素的二维数组元素的二维数组【例【例2.9.2-2】数组转置、对称交换和旋转操作后果的对照比】数组转置、对称交换和旋转操作后果的对照比较。较。AA.%转置转置flipud(A

22、)%上下对称交换上下对称交换fliplr(A)%左右对称交换左右对称交换rot90(A)%逆时针旋转逆时针旋转90度度第24页,本讲稿共46页2.10数组构作技法综合数组构作技法综合【例【例2.10-1】数组的扩展。】数组的扩展。(1)数组的赋值扩展法)数组的赋值扩展法A=reshape(1:9,3,3)%创建创建数组数组AA(5,5)=111%扩展数组扩展数组,扩展部分除扩展部分除(5,5)元素为元素为111外,其余均为外,其余均为0。A(:,6)=222%标量对子数组赋值,并扩展数组。标量对子数组赋值,并扩展数组。(2)多次扩展法)多次扩展法AA=A(:,1:6,1:6)%相当于指令相当于

23、指令repmat(A,1,2)(3)合并扩展法)合并扩展法B=ones(2,6)%创建创建全全1数组数组AB_r=A;B%行数扩展合成行数扩展合成AB_c=A,B(:,1:5)%列数扩展合成列数扩展合成第25页,本讲稿共46页【例【例2.10-2】提取子数组,合成新数组。】提取子数组,合成新数组。A%重显重显A数组数组AB_BA=triu(A,1)+tril(A,-1)%利用操作函数,使主对角元素为全利用操作函数,使主对角元素为全0AB1=A(1:2,end:-1:1);B(1,:)%灵活合成灵活合成第26页,本讲稿共46页【例【例2.10-3】单下标寻访和】单下标寻访和reshape指令演示

24、。指令演示。clear%清除内存变量清除内存变量A=reshape(1:16,2,8)%变一维数组成变一维数组成数组数组reshape(A,4,4)%变变数组为数组为数组数组s=13689111416;%定义定义“单下标单下标”数组数组A(s)=0%利用利用“单下标单下标”数组对数组对A的元素重新赋值的元素重新赋值 第27页,本讲稿共46页【例【例2.10-4】逻辑函数的运用示例。】逻辑函数的运用示例。R=randn(3,6)%创建正态随机阵创建正态随机阵L=abs(R)1.5%不等式条件运算,结果给出逻辑数组不等式条件运算,结果给出逻辑数组R(L)=0%“逻辑逻辑1”对应的元素赋对应的元素赋

25、0值值s=(find(R=0)%利用利用find获得符合关系等式条件的元素获得符合关系等式条件的元素“单下标单下标”R(s)=111%利用利用“单下标单下标”定位赋定位赋值值ii,jj=find(R=111);%利用利用find获得符合关系等式条件的元素获得符合关系等式条件的元素“双下标双下标”第28页,本讲稿共46页2.11 2.11 高维数组高维数组2.11.1高维数组的创建高维数组的创建【例例2.11.1-12.11.1-1】“全全下下标标”元元素素赋赋值值方方式式创创建建高高维维数组演示。数组演示。A(2,2,2)=1 单元素赋值创建单元素赋值创建(222)(222)数组数组B(2,5

26、,:)=1:3子数赋值组创建子数赋值组创建(253)(253)数组数组【例【例2.11.1-22.11.1-2】低维数组合成高维数组。】低维数组合成高维数组。clear,clear,A=ones(2,3);A=ones(2,3);A(:,:,2)=ones(2,3)*2;A(:,:,2)=ones(2,3)*2;A(:,:,3)=ones(2,3)*3A(:,:,3)=ones(2,3)*3 第29页,本讲稿共46页【例【例2.11.1-3】由函数】由函数ones,zeros,rand,randn直接创建标准高维数组的示例。直接创建标准高维数组的示例。rand(state,1111),rand

27、(2,4,3)【例【例2.11.1-4】借助】借助cat,repmat,reshape等函数等函数构作高维数组。构作高维数组。cat(3,ones(2,3),ones(2,3)*2,ones(2,3)*3)cat(3,ones(2,3),ones(2,3)*2,ones(2,3)*3)repmat(ones(2,3),1,1,3)repmat(ones(2,3),1,1,3)reshape(1:12,2,2,3)reshape(1:12,2,2,3)说明:说明:cat(2,A,B)得到得到A,Bcat(1,A,B)得到得到A;B第30页,本讲稿共46页2.11.2 2.11.2 高维数组的标识

28、高维数组的标识为更好的表述复杂的高维数组操作,现对若为更好的表述复杂的高维数组操作,现对若干术语和干术语和MATLAB相关指令说明如下:相关指令说明如下:(1)数组的维数()数组的维数(Dimension)和)和ndims指令指令“行行”或或“列列”数组(或称向量)是一维数数组(或称向量)是一维数组,即组,即“维数为维数为1”。矩阵是二维数组,即。矩阵是二维数组,即“维维数是数是2”。指令指令ndims(A)可直接给出数组可直接给出数组A的维数的维数(2)数组的大小()数组的大小(Size)和)和size指令指令不管不管A数组的维数是多少,数组的维数是多少,size(A)可直接给可直接给出出A

29、的各维的大小,而指令的各维的大小,而指令length(A)可给出所有可给出所有维中的最大长度。即维中的最大长度。即length(A)=max(size(A)第31页,本讲稿共46页【例【例2.11.2-1】获取数组】获取数组A的维数、大小和长度的维数、大小和长度clear;A=reshape(1:24,2,3,4);dim_A=ndims(A)size_A=size(A)L_A=length(A)第32页,本讲稿共46页2.12“非数非数”和和“空空”数组数组2.12.1非数非数NaN根根据据IEEE规规定定等等运运算算都都会会产产生生非非数数(NotaNumber)。该非数在)。该非数在MA

30、TLAB中用中用NaN或或nan记述。记述。(1)根据)根据IEEE数学规范,数学规范,NaN具有以下性质具有以下性质:NaN参与运算所得的结果也是参与运算所得的结果也是NaN,即具有传递性,即具有传递性非数没有非数没有“大小大小”概念,因此不能比较两个非数的大小概念,因此不能比较两个非数的大小(2)非数的功用)非数的功用真实记述真实记述运算后的结果运算后的结果避免可能因避免可能因运算而造成程序执行的中断运算而造成程序执行的中断在数据可视化中,用来裁剪图形。在数据可视化中,用来裁剪图形。第33页,本讲稿共46页【例【例2.12.1-1】非数的产生和性质演示。】非数的产生和性质演示。(1)非数的

31、产生)非数的产生a=0/0,b=0*log(0),c=inf-inf0*a,sin(a)(2)非数的不可比较性)非数的不可比较性a=nana=nana=b%两个非数不存在两个非数不存在“等等”与与“不等不等”的概念的概念bc%两个非数不能比较大小两个非数不能比较大小(5)非数的属性判断)非数的属性判断class(a)%数据类型归属数据类型归属isnan(a)%该指令是唯一能正确判断非数的指令该指令是唯一能正确判断非数的指令 第34页,本讲稿共46页【例【例2.12.1-2】非数元素的寻访】非数元素的寻访R=rand(2,5);R(1,5)=NaN;R(2,3)=NaNisnan(R)%对数组元

32、素是否非数进行判断,找出非数元素的位置标识对数组元素是否非数进行判断,找出非数元素的位置标识Linear_index=find(isnan(R)%非数的非数的“单下标单下标”标识标识r_index,c_index=ind2sub(size(R),Linear_index)%转换成转换成“全下标全下标”标识标识disp(r_indexc_index)disp(r_indexc_index)第35页,本讲稿共46页2.12.2“2.12.2“空空”数组数组 某维长度为某维长度为0或若干维长度为或若干维长度为0的数组就是的数组就是“空空”数组,它是数组,它是MATLAB为操作和表述需要而专为操作和表

33、述需要而专门设计的一种数组。门设计的一种数组。“空空”数组的功用:数组的功用:在没有在没有“空空”数组参与的运算时,计算结果中的数组参与的运算时,计算结果中的“空空”可以合理地解释可以合理地解释“所得结果的含义所得结果的含义”运用运用“空空”数组对其他非空数组赋值,可以收缩数组对其他非空数组赋值,可以收缩数组的大小,但不能改变那数组的维数。数组的大小,但不能改变那数组的维数。第36页,本讲稿共46页说明:说明:不能把不能把“空空”数组与全零数组混淆数组与全零数组混淆不要把不要把“空空”数组看成数组看成“虚无虚无”。它确实。它确实存在。利用存在。利用which,who,whos,以及变量浏以及变

34、量浏览器都可以验证它的存在览器都可以验证它的存在唯一能正确判断一个数组是否唯一能正确判断一个数组是否“空空”的指的指令是令是isempty。“空空”数组在运算中不具备传递性。对运数组在运算中不具备传递性。对运算中出现的算中出现的“空空”结果,解释要谨慎。结果,解释要谨慎。第37页,本讲稿共46页【例【例2.12.2-1】关于】关于“空空”数组的算例。数组的算例。(1)创建)创建“空空”数组的几种方法数组的几种方法a=,b=ones(2,0),c=zeros(2,0),d=eye(2,0),e=rand(2,3,0,4)(2)”空空”数组的属性数组的属性class(a)%“空空”的数据类别的数据

35、类别isnumeric(a)%是数值数组类吗是数值数组类吗isempty(a)%唯一可正确判断数组是否唯一可正确判断数组是否“空空”的指令的指令whicha%变量变量a是什么是什么ndims(a)%数组数组a的维数的维数size(a)%a数组的大小数组的大小第38页,本讲稿共46页(3)“空空”数组不具备一般传递性数组不具备一般传递性b_c1=b.*c%两个空阵的点乘两个空阵的点乘b_c2=b*c%矩阵乘,生成矩阵为矩阵乘,生成矩阵为0-by-0,故,故“空空”b_c3=b*c%矩阵乘,生成矩阵为矩阵乘,生成矩阵为2-by-2(4)”空空“数组的比较要谨慎数组的比较要谨慎a=b%结果可解释为结

36、果可解释为“不等于不等于”b=c%结果可合理解释为结果可合理解释为“无法比较无法比较”cd%结果可合理解释结果可合理解释“无法比较无法比较”a=0%结果可解释为结果可解释为“不等于不等于”A=0%结果解释为结果解释为“是不等是不等”第39页,本讲稿共46页(5)没有没有“空空”数组参与运算时,结果中的数组参与运算时,结果中的“空空”有合理解释有合理解释A=reshape(-4:5,2,5)%创建一个数值数组创建一个数值数组AL2=A10%检查检查A中大于中大于10的元素位置的元素位置find(L2)%找出找出L2逻辑数组中非逻辑数组中非0元素的元素的“单下标单下标”标识。标识。(6)“空空”数

37、组用于子数组的删除和数组大小的数组用于子数组的删除和数组大小的缩放缩放A(:,2,4)=%删除删除A的第二、四列的第二、四列第40页,本讲稿共46页【例【例2.11.3-4】赋】赋“空阵空阵”值操作。值操作。A=reshape(1:18,2,3,3)%创建创建3维数组维数组A(:,2:3,:)=%赋赋“空空”,使原,使原A数组的第二、三列消失数组的第二、三列消失B=A;size(A)A_1=squeeze(A)Size(A_1)%撤消撤消“孤维孤维”,数组由,数组由3维降为维降为2维维size(B)%B数组与数组与A同样存在同样存在“孤维孤维”B(:,1,:)=%对对“孤维孤维”赋赋“空空”,

38、不能降维,不能降维第41页,本讲稿共46页【例2.11.3-5】“孤维”的撤消和降维。clear,clear,A=ones(2,3);A=ones(2,3);A(:,:,2)=ones(2,3)*2;A(:,:,2)=ones(2,3)*2;A(:,:,3)=ones(2,3)*3A(:,:,3)=ones(2,3)*3B=cat(4,A(:,:,1),A(:,:,2),A(:,:,3)B=cat(4,A(:,:,1),A(:,:,2),A(:,:,3)%串接为串接为4 4维数组维数组 size(B)size(B)%测量数组测量数组B B的大小的大小 C=squeeze(B)C=squeeze

39、(B)%撤消长度为撤消长度为1 1的的“孤维孤维”,”,使原使原4 4维数组减为维数组减为3 3维数组维数组 size(C)size(C)第42页,本讲稿共46页2.13 2.13 关系操作和逻辑操作关系操作和逻辑操作MALAB的约定:的约定:在所有关系表达式和逻辑表达式中,作为输入的在所有关系表达式和逻辑表达式中,作为输入的任何非任何非0数都被看作是数都被看作是“逻辑真逻辑真”,而只有,而只有0才被才被认为是认为是“逻辑假逻辑假”所有关系表达式和逻辑表达式的计算结果,即输所有关系表达式和逻辑表达式的计算结果,即输出,是一个由出,是一个由0和和1组成的组成的“逻辑数组逻辑数组(LogicalA

40、array)”。在此数组中。在此数组中1表示表示“真真”,0表示表示“假假”逻辑数组是逻辑数组是“数值类数值类”的子类。它继承了的子类。它继承了“数值数值数组数组”的全部属性,因此它完全可以接受对的全部属性,因此它完全可以接受对“数数值数组值数组”施行的操作和函数作用;它又有不同于施行的操作和函数作用;它又有不同于普通的普通的“数值数值”的的“个性个性”,表示对事物的判断,表示对事物的判断结论结论“真真”与与“假假”,因此可用于数组寻访等特,因此可用于数组寻访等特殊场合。殊场合。第43页,本讲稿共46页【例【例2.13.1-1】关系运算示例。】关系运算示例。A=1:9,B=10-A,r0=(A0)L1=(A0)L2=A0L2=A0L3=AL3=AL4=A-2&A-2&A1第46页,本讲稿共46页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁