Matlab-字符串-元胞-构架数组.ppt
《Matlab-字符串-元胞-构架数组.ppt》由会员分享,可在线阅读,更多相关《Matlab-字符串-元胞-构架数组.ppt(29页珍藏版)》请在三一办公上搜索。
1、1,三 字符串元胞构架数组,字符串数组 字符串数组的属性和标识复杂串数组的创建串转换函数和串操作函数元胞数组构架数组数据类型归纳,2,3.1 字符串数组(Character String Array),例3-1 字符串入门 String1=b;String2=This is an example!;%英文字母、空格、数字、标点、中文字符 String3=例子char array;%都是占一个元素位,两个字节 s1=class(String1)s1=char s2=size(String2)s2=1 19 whos Name Size Bytes Class String1 1x1 2 char
2、 array String2 1x19 38 char array String3 1x14 28 char array s1 1x4 8 char array s2 1x2 16 double arrayGrand total is 26 elements using 64 bytes,3,3.1.1 字符串数组的属性和标识,1)创建串数组:必须将待建字符放在“单引号对”中,“单引号对”必须在英文状态下输入。2)串数组的大小:size指令获得串数组的大小。串中的每一个字符,包括中英文字符、空格、标点都算一个元素。3)串数组的标识:自左向右用数字1、2、3、4标识。4)ASCII码显示:abs
3、和double指令可以显示串数组对应的ASCII码数值数组。char指令则可以把ASCII码数值数组转换成串数组。5)ASCII码数组的操作:可以对ASCII码数组进行数值数组的各种运算。注意:必须在英文状态下输入“单引号对”。当字符串中包含单引号时,用连续两个单引号表示。,4,例3-2 串数组基本操作,string=this is an example!%输入字符串stringstring=this is an example!s_1=string(end:-1:1)%倒序排列string得到s_1s_1=!elpmaxe na si siht w=string=a&string STRIN
4、G=string;%将小写字符转换成大写字符 STRING(w)=char(string(w)-32)%ASCII 码相差 32STRING=THIS IS AN EXAMPLE!Str=Exm03_2.m,string(5:end)%构造新的字符串Str=Exm03_1.m is an example!,5,3.1.2 复杂字符串数组的创建,1)直接输入多行串数组必须保证各行等长,可以利用增减“空格”实现。s=Hello,%6个元素,需要补充11个空格Nice to meet you!;%17个元素2)利用串操作函数创建常用的有:char,str2mat,strvcat。不需要考虑各行长度,
5、自动按最长行设置。s=char(Hello,Nice to meet you!);s=str2mat(Hello,Nice to meet you!);s=strvcat(Hello,Nice to meet you!);size(s)=2*17区别:str2mat认为空串 代表空行;strvcat省略空串s1=str2mat(Hello,Nice to meet you);size(s1)=3*17s2=strvcat(Hello,Nice to meet you!);size(s2)=2*17,*ones(1,11),6,3)利用串转换函数创建常用的有:int2str,num2str,ma
6、t2strint2str:整数数组转换成字符串,非整数四舍五入。num2str:非整数数组转换成字符串。mat2str:数值数组转换成字符串。区别:a=0.9576 0.8 2.151;4.0 5 7.8a1=int2str(a)%取整数a2=num2str(a,2)%2位有效数字a3=mat2str(a,2)%一行字符,a=0.9576 0.8000 2.15104.0000 5.0000 7.8000a1=1 1 24 5 8a2=0.96 0.8 2.2 4 5 7.8a3=0.96 0.8 2.2;4 5 7.8,7,例3-3 作出函数图形,并标注最大值点。,clear t=0:0.0
7、1:10;y=exp(-2*t).*sin(3*t);y_max,i_max=max(y);t_text=t=,num2str(t(i_max);y_text=y=,num2str(y_max);max_text=char(Maxium,t_text,y_text);Title=y=exp(-2*t).*sin(3*t);figureplot(t,zeros(size(t),k)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(Title);xla
8、bel(t)ylabel(y)hold off,%清除内存变量%时间 t 从 0 到 10 每隔 0.01 均匀采样%对应每一个 t 求 y 值%求最大值 y_max 及其下标 i_max%横坐标字符串%纵坐标字符串%三行字符来标识最大值点%图名称字符串%新建一个图形窗%画一条黑色的水平线%保持图形不被清除%蓝色实线画曲线 y(t)%大小为 20 的红圆点标记最大值点%在最大值点附近显示注释字符%显示图名、横坐标名、纵坐标名%取消图形保持,8,9,作业一,作出函数图形,并标注最大值点、最小值点发Email:截止日期:2003年11月22日,10,3.1.3 串转换函数和串操作函数,字符串转换函
9、数详见 P82 表 3.1.1,11,字符串操作函数详见 P83 表 3.1.2,12,3.2 元胞数组,特点:1)元胞数组的每一个基本组成部分成为一个元胞(cell),元胞在数组中以下标来进行区分。2)元胞可以是任何类型、任意大小的数组(例如:数值数组、字符串数组、符号对象等等)。3)一个元胞数组中各个元胞可以是不同类型的内容。4)元胞数组的维数不受限制,可以采用单下标或全下标寻址。注意:圆括号对“()”和花括号对“”的不同作用。A(2,3):表示元胞数组A第 2 行第 3 列的元胞。A 2,3:表示元胞数组A第 2 行第 3 列的元胞中的内容。,13,例3-4元胞数组的基本应用,C=cha
10、r(这是,元胞数组);%两行的字符串数组R=reshape(1:9,3,3);%3*3 的数值数组S=sym(sin(-3*t)*exp(-t);%符号表达式A(1,1)=C;%对元胞数组 A 进行赋值A 2,1=S;%注意 和()的区别A 2,2=R;A%显示元胞数组 A 的元胞A=2x4 char 1x1 sym 3x3 doublecelldisp(A)%显示元胞数组 A 的元胞中的内容A1,1=这是 元胞数组 A2,1=sin(-3*t)*exp(-t)A1,2=,当用圆括号来寻址时,所表示的是元胞,相应的等号右边也应该是一个元胞;当用花括号寻址时,表示的是元胞中的内容,相应的等号右边
11、是元胞中的内容,可以是任意类型、大小的数组。,A=2x4 char 1x1 sym 1x1 cellA(2,2)=1x1 cellA 2,2=3x3 doubleA 2,2 1=1 4 7 2 5 8 3 6 9A 2,2 1(1,3)=7,14,A2,2=1 4 7 2 5 8 3 6 9class(A(2,1)%元胞的类型ans=cellclass(A2,1)%元胞的内容的类型ans=symA(2,1)%A 的第2行第1列的元胞ans=1x1 symA 2,1%A 的第2行第1列的元胞中的内容ans=sin(-3*t)*exp(-t)save exm03_4.mat%保存内存变量显示元胞数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 字符串 构架 数组
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6511667.html