matlab第三章_第1页
matlab第三章_第2页
matlab第三章_第3页
matlab第三章_第4页
matlab第三章_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第三章、 其它数组类型 字符串数组、元胞数组及构架数组 内容提要: 1、字符串数组。 2、元胞数组。 3、构架数组。 3.1 字符串数组clear %清除所有内存变量a=123.456789 %给变量a赋数值标量class(a) %对变量a的类别进行判断 a_s=size(a) %数值数组a的大小 b=S %给变量b赋字符标量(即单个字符)class(b) %对变量b的类别进行判断 b_s=size(b) %符号数组b的大小whos %观察变量a,b在内存中所占字节问题: 1、size指令的使用方法。 2、在workspace窗口中变量ans的大小是14为什么不是16? 3.1 字符串数组主

2、要内容: 1、串数组的属性和标识。 2、复杂串数组的建立。 3、串转换函数。 4、串操作函数。1)串数组的创建。2)串数组的大小。3)串数组的元素标识。4)串数组的ASCII码表示。5)中文字符串。6)创建带单引号的字符串。7)有小串构成长串。3.1.1 串数组的属性和标识串数组的创建:在指令窗中,先把待建的字符放在“单引号对”中,再按回车键。 例( 串数组的大小) A=This is a programme.size(A) 注意: 在字符串数组中每个字符(英文字母、标点、 空格都是平等的)占据一个元素的位置。3.1.1 串数组的属性和标识例: A=This is a programme. s

3、ize(A) B=A(1:8) C=A(end:-2:1) D=A(6 7)B= This isD= is 3.1.1 串数组的属性和标识Y=char(X)X=double(Y) A=This is a programme. B=double(A) D=char(B)作用:将字符数组A转化成其ASCII码。作用:将B中以字符ASCII表示的值转换成相应的字符。 3.1.1 串数组的属性和标识例: A=这是一部好电影! B=size(A) C=double(A) D=char(A)E=char(C) 3.1.1 串数组的属性和标识 A=It s a good book. A=It s a goo

4、d book.Right or Wrong? 3.1.2 复杂串数组的创建1、复杂串数组的直接创建。2、利用串操作函数创建复杂串数组。3、利用转换函数产生数码字符串。Char str2matstrvcat 3.1.2 复杂串数组的创建 3.1.2 复杂串数组的创建S=char(t1,t2,t3,)说明:说明:其中t1、t2、t3为字符串行数组,S是 由t1、t2、t3为行构成的二维字符串 数组,其尺寸取中的最长者。其它字符 行阵列在末尾补空格,使所有行阵列等长。 3.1.2 复杂串数组的创建功能:字符串的垂直连接。s1=str2mat(This,is,an example!)s2=strvca

5、t(This,is,an example!) 3.1.2 复杂串数组的创建将整数数组转化为串数组A=ones(3)B=int2str(A)a=eye(2,5)b=int2str(a) 3.1.2 复杂串数组的创建将非整数数组转换成串数组。将数值数组转换成输入形态的串数组。 例题开讲: 例题开讲:a=2;w=3;t=0:0.01:10; y=exp(-a*t).*sin(w*t); y_max,i_max=max(y); t_text=t=,num2str(t(i_max);y_text=y=,num2str(y_max);max_text=char(maximum,t_text,y_text)

6、; tit=y=exp(-,num2str(a),t)*sin(,num2str(w),t);plot(t,zeros(size(t),k)hold on plot(t,y,b)plot(t(i_max),y_max,r.,MarkerSize,20)text(t(i_max)+0.3,y_max+0.05,max_text)title(tit),xlabel(t),ylabel(y),hold on %找出最大值元素的位置%生成最大值点的坐标字符串%由char指令生成多行字符串例题开讲:rand(state,0); a=rand(2,2);s1=num2str(a)s_s=sprintf(%

7、.10en,a) fprintf(%.5g,a) s_sscan=sscanf(s_s,%f,3,2)%把数值数组转换为串数组%科学记述串,每写一个元素就换行。%以5位数位最短形式显示。不能赋值用%浮点格式把串转换成成 数值数组。其它的串转换函数和串操作函数参阅教材表2.7 3.2 元胞数组主要内容:1、元胞数组的创建和显示。2、元胞数组的扩充、收缩和重组。3、元胞数组内容的调取。 3.2 元胞数组说明:1)元胞数组的基本组分是:元胞(cell)。2)每个元胞在数组中的地位是平等的,只以下标 区分,有单下标编制和全下标编制两种方法。3)元胞中可以存放任何类型、任何大小的数据。4)同一元胞数组中

8、各个元胞的内容可以不同。注意:1)寻访元胞:A(1,2) 2)寻访元胞中的内容:A1,2 3.2.1元胞数组的创建和显示创建方法: 1)外标识元胞元素赋值。 2)编址元胞元素内涵的直接赋值法。 3)利用指令cell建立元胞数组。clearC_str=char(这是, 元胞数组); %产生字符串 R=reshape(1:9,3,3); %产生 实数阵R Cn=1+2i; %产生复数标量 S=rand(2,3); %产生随机数数组 % (1)创建法一:外标识元胞元素赋值法A(1,1)=C_str;A(1,2)=R;A(2,1)=Cn;A(2,2)=S; A %显示元胞数组 (2)创建法二:编址元胞

9、元素内涵的直接赋值法B1,1=C_str;B1,2=R;B2,1=Cn;B2,2=S; celldisp(B)功能:显示元胞数组的内容。(3)创建法三:利用cell指令创建Y=cell(x1,x2,)3.2.2元胞数组的扩充、收缩和重组 3.2.2元胞数组的扩充、收缩和重组元胞数组的列扩充元胞数组的行扩充。 3.2.2元胞数组的扩充、收缩和重组cellplot(B)功能:形象的显示元胞数组的内容cellplot(D,legend) 3.2.2元胞数组的扩充、收缩和重组E=reshape(D,2,3) 3.2.3元胞数组内容的调取 3.2.3元胞数组内容的调取 3.3构架数组主要内容:1、构架数

10、组的直接创建及显示。 2、利用构造函数struct创建构架数组。 3.3构架数组说明:1)构架数组的基本组成单元是:构架。 2)构架必须在划分域后才能使用。 3)数据不能直接存放于构架,只能存放在域中。 4)构架的域可以存放任何类型、任何大小的数组。 5)不同构架的同名域中存放的内容可以不同。 3.3.1构架数组的直接创建及显示 单构架数组的创建和显示。 3.3.1构架数组的直接创建及显示只能得到该构架的结构信息。当键入不带子域的构架域名时,可直接显示该域的内容。3.3.1构架数组的直接创建及显示若键入带子域的构架域名,则显示子域的结构信息。 3.3.1构架数组的直接创建及显示3.3.2利用构

11、造函数struct创建构架数组例:Patient1=struct(name, John,billing,127,test,79 75 73;180 178 176;220 210 205) 3.3.2利用构造函数struct创建构架数组例: n=John Ann Alann = John Ann Alan b=123 28.5 98.5b = 123.0000 28.5000 98.50003.3.2利用构造函数struct创建构架数组t1=79 75 73;180 178 177 ;220 210 205;t2=68 70 68;118 118 119 ;172 170 169;t3=37 38 36;119 121 120 ;165 166 159; patient2=struct(name,n,billing,b,test,t1 t2 t3)3.3.2利用构造函数struct创建构架数组例: s=struct(type,big,little,color,r

温馨提示

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

评论

0/150

提交评论