《字符串、胞元构架数组.ppt》由会员分享,可在线阅读,更多相关《字符串、胞元构架数组.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、字符串、胞元数组、构架数组基础字符串数组字符串是Matlab中用于数据显示和可视化的重要组成部分。后面的内容将经常用到这部分内容。字符串变量创建的方式是:在指令窗中,把待键入的字符放在“单引号”中,然后按enter键,注意:单引号一定要在英文状态下输入。字符串数组【例1】数值量与字符串的区别 (1)数值a=12345.6789%变量a赋值标量class(a)a_s=size(a)%数值数组a的“大小”(2)字符串b=S%变量b赋值字符串标量class(b)b_s=size(b)whos 字符串数组【例2】串的基本属性、标识和简单操作。(1)创建串数组a=This is an example.(
2、2)串数组a 的大小%以上赋值后,变量a就是一个串数组,该串每个字符(英文%字符、空格、标点)占据一个元素位,该串数组可用下面%的指令获得.size(a)(3)中文字符串数组%中文字符串数组外面的单引号必须在英文状态下输入。A=这是算例。这是算例。(4 4)小串构成长串)小串构成长串)小串构成长串)小串构成长串abab=A(1:4),A.1-2,A(5)=A(1:4),A.1-2,A(5)字符串数组【例3】实现数值向字符串转换的函数int2str,num2str。(1)int2str把整数数组转换成串数组(非整数将被圆整)A=eye(2,4);A=eye(2,4);A_str1=int2str
3、(A)A_str1=int2str(A)(2)num2str把非整数数组转换成串数组(常用于图形数据点的标识)rand(state,0)B=rand(2,4);B3=num2str(B,3)%保持三位有效数字,转换为串保持三位有效数字,转换为串 字符串数组【例4】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。cleara=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(maxi
4、mum,t_text,y_text);tit=y=exp(-,num2str(a),t)*sin(,num2str(w),t);plot(t,zeros(size(t),k).【例4】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。.hold onplot(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 off 胞元数组胞元数组的构成?胞元和胞元内容两部分。该数组的基本组成部分是胞元(cell),
5、每个胞元本身在数组中是平等的,它们只能以下标来区分。同一个胞元数组中不同的胞元可以存放不同类型和不同大小的数据,如任意维数组、字符串数组、符号对象等。胞元数组胞元和胞元内容是两个不同的概念?A(2,3)指A胞元数组中的第2行第3列的胞元。A2,3指A胞元数组中第2行第3列中胞元中存放的内容。胞元数组【例5】(2*2)胞元数组的创建;同一个胞元数组中的不同胞元可以存放不同类型、不同大小的数据。(1)生成不同结构数据C_str=这是胞元数组创建算例这是胞元数组创建算例 1;R=reshape(1:9,3,3);Cn=1+2i;S_sym=sym(sin(-3*t)*exp(-t);胞元数组【例5】
6、(2*2)胞元数组的创建;同一个胞元数组中的不同胞元可以存放不同类型、不同大小的数据。(2)%创建胞元数组创建胞元数组B1,1=C_str;B1,2=R;B2,1=Cn;B2,2=S_sym;胞元数组【例5】(2*2)胞元数组的创建;同一个胞元数组中的不同胞元可以存放不同类型、不同大小的数据。(3)胞元的援引)胞元的援引a=B(1,2)class(a)(4)胞元内容的援引)胞元内容的援引b=B1,2class(b)说明:说明:A是胞元,而是胞元,而b是是3*3的双精度矩阵。的双精度矩阵。构架数组 与胞元数组一样,构架数组(structure array)也能在一个数组里存放各类数据,从一定意义
7、来讲,构架数组组织数据的能力比胞元数组更强、更富于变化。构架数组基本组成部分是构架(structure)。数组中的每个构架是平等的,数据不能直接存放在构架中,而只能存放在域中。构架的域可以存放任意类型、任何大小的数组。构架名和域名之间用小黑点“.”来标识。构架数组【例6】通过温室数据(包括温室名、容积、温度、湿度等)演示:构架数数组组的创建和显示。(1)直接对域赋值产生)直接对域赋值产生“单构架单构架”,1*1构架数组构架数组clearG.name=一号房一号房;%G构架的构架的name域存放字符串域存放字符串G.volume=2000;%G构架的构架的volume域存放数值域存放数值G.temperature=31.2,30.4,31.6,28.7;%G构架的构架的temperature域存放一维数值数组域存放一维数值数组G.humidity=62.1,59.5,57.7,61.5;63,60,58.1,62.3;(2)向第二个构架的域赋值,形成构架数组,)向第二个构架的域赋值,形成构架数组,G(2).name=二号房二号房;G(2).volume=2400;构架数组【例6】通过温室数据(包括温室名、容积、温度、湿度等)演示:构架数组数组的创建和显示。(3)构架数组的数组的显示G(4)构架元素的元素的显示G(1)(5)构架域的)构架域的显示G.humidity
限制150内