matlab消去负半波,matlab中的多维数组

Matlab语言及其应用,多维数组,2020/5/11,MatlabLanguage,2,4、数组元素的标识与寻访(续),【例4-4】size、length函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=b’length(c),size函数返回变量的大小,即变量数组的行列数length函数返回变量数组的最大维数,2020/5/11,MatlabLanguage,3,4、数组元素的标识与寻访(续),双下标到单下标的转换,,【例4-5】sub2ind函数-双下标转换为单下标A=[172418;222714;461320];sub2ind(size(A),2,2)A(5),2020/5/11,MatlabLanguage,4,4、数组元素的标识与寻访(续),单下标到双下标的转换,,【例4-6】ind2sub函数-单下标转换为双下标b=zeros(3);b(:)=1:9IND=[3456][I,J]=ind2sub(size(b),IND),2020/5/11,MatlabLanguage,5,5、多维数组,多维数组的定义在MATLAB的数据类型中,向量可视为一维数组,矩阵可视为二维数组,对于维数(Dimensions)超过2的数组均可视为「多维数组」(MultidimesionalArrays,简称N-DArrays)。,2020/5/11,MatlabLanguage,6,5、多维数组(续),将两个二维(平面)数组叠在一起,就构成三维数组,第三维称为「页」(Page),如下图所示:,2020/5/11,MatlabLanguage,7,5、多维数组(续),三维数组,可对应至一个X-Y-Z三维立体坐标,如下图所示:,Z(页),Y(列),X(行),2020/5/11,MatlabLanguage,8,5、多维数组(续),三维数组元素的寻址:可以(行、列、页)来确定。以维数为342的三维数组为例,其寻址方式如下图所示:,数组A是三维数组,其中A(:,:,1)代表第一页的二维数组,A(:,:,2)代表第二页的二维数组。,2020/5/11,MatlabLanguage,9,5、多维数组(续),多维数组的建立建立一个简单的多维数组,可直接由MATLAB命令视窗内输入(使用“[]”操作符)例:由两个相同大小二维数组创建三维数组,A(:,:,1)=[1025;4187;3263];A(:,:,2)=[3541;2621;4230],A(:,:,1)=102541873263,A(:,:,2)=354126214230,2020/5/11,MatlabLanguage,10,5、多维数组(续),执行命令:whosA,得到如下结果:NameSizeBytesClassA3x4x2192doublearrayGrandtotalis24elementsusing192bytes,2020/5/11,MatlabLanguage,11,6、数组的算术运算,MATLAB数组支持线性代数中所有的矩阵运算。建立特有的数组运算符,如:“.*”、“./”等。MATLAB数组运算符列表运算运算符含义说明加+相应元素相加减-相应元素相减乘*矩阵乘法点乘.*相应元素相乘幂^矩阵幂运算点幂.^相应元素进行幂运算左除或右除\或/矩阵左除或右除左点除或右点除.\或./A的元素被B的对应元素除,2020/5/11,MatlabLanguage,12,6、算术运算(续),【例5-1】数组加减法a=zeros(2,3);a(:)=1:6;b=a+2.5b=3.50005.50007.50004.50006.50008.5000c=b-ac=2.50002.50002.50002.50002.50002.5000,2020/5/11,MatlabLanguage,13,6、算术运算(续),【例5-2】画出y=1/(x+1)的函数曲线,x∈[0,100]。x=0:100;y=1./(x+1);plot(x,y);legend(‘y=1/(x+1)’);,2020/5/11,MatlabLanguage,14,6、算术运算(续),【例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)’);,2020/5/11,MatlabLanguage,15,6、算术运算(续),2020/5/11,MatlabLanguage,16,6、算术运算(续),【例5-2】点幂“.^”举例>>a=1:6a=123456>>b=reshape(a,2,3)b=135246,>>a=a.^2a=149162536>>b=b.^2b=192541636,2020/5/11,MatlabLanguage,17,7、关系运算,Matlab提供了6种关系运算符:,、=、==、~=(不等于),关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,结果为1,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵。,2020/5/11,MatlabLanguage,18,7、关系运算(续),【例】建立5阶方阵A,判断其元素能否被3整除。,A=[24,35,13,22,63;23,39,47,80,80;...90,41,80,29,10;45,57,85,62,21;37,19,31,88,76]A=2435132263233947808090418029105785622119318876P=rem(A,3)==0%被3除,求余,P=1000101000100001100100000,2020/5/11,MatlabLanguage,19,8、逻辑运算,Matlab提供了3种逻辑运算符:,y=sin(x);y1=(y>=0).*y;%消去负半波,2020/5/11,MatlabLanguage,21,【例】建立矩阵A,找出在[10,20]区间的元素的位置。,A=[4,15,-45,10,6;56,0,17,-45,0];find(A>=10>>y=max(x)%求向量x中的最大值y=72>>[y,l]=max(x)%求向量x中的最大值及其该元素的位置y=72l=2,2020/5/11,MatlabLanguage,24,9.数据分析与统计,2.求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式,分别是:(1)max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;(2)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;(3)max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。求最小值的函数是min,其用法和max完全相同。,2020/5/11,MatlabLanguage,25,【例7-2】求矩阵的最大值>>x=[-43,72,9;16,23,47];>>y=max(x)%求矩阵x中每列的最大值y=167247>>[y,l]=max(x)%求矩阵x中每列的最大值及其该元素的位置y=167247l=212>>max(x,[],1),max(x,[],2)%求矩阵中每行的最大值,2020/5/11,MatlabLanguage,26,9.数据分析与统计,求和与求积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行的各元素之和。prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。,2020/5/11,MatlabLanguage,27,9.数据分析与统计,平均值与中值求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为: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):当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。,2020/5/11,MatlabLanguage,28,2.3字符串(string、arrayofcharacters),关于字符串MATLAB处理字符(Characters)与字符串(Strings)的相关指令大部分都放在下列目录之中:{MATLAB根目录}\toolbox\matlab\strfun其中的「strfun」就是代表「StringFunctions」。若要查询与字符和字符串相关的指令,可在MATLAB下输入:helpstrfun或是helpstrings,2020/5/11,MatlabLanguage,29,2.3字符串的概念,字符(Characters)可以构成一个字符串(Strings),或字符数组(characterarray)。一个字符串是被视为一个行向量(rowvector)。字符串中的每一个字符(含空格),以其ASCII码的形式存放于行向量中,是该字符串变量的一个元素(element)。,2020/5/11,MatlabLanguage,30,,,2020/5/11,MatlabLanguage,31,2.3字符串的概念,字符(Characters)可以构成一个字符串(Strings),或字符数组(characterarray)。一个字符串是被视为一个行向量(rowvector)。字符串中的每一个字符(含空格),以其ASCII码的形式存放于行向量中,是该字符串变量的一个元素(element)。,

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值