欢迎来到天天文库
浏览记录
ID:50326742
大小:756.00 KB
页数:34页
时间:2020-03-08
《MATLAB基础教程 教学课件 作者 杨德平 第3章 单元数组与结构数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章单元数组与结构数组3.1字符串数组3.2单元数组3.3结构数组3.4综合实例3.1字符串数组3.1.1串数组的生成1.直接输入法直接用单引号输入,例如:>>Book='MATLAB7.14(R2012a)基础'显示的结果为:Book=MATLAB7.14(R2012a)基础若在单引号外加大括号{}也可以显示字符串,例如:>>S={'数组计算'}S='数组计算'从结果来看,显示的内容有单引号标示,而单引号法显示的却只是文本。2.利用命令disp法格式disp(S)%S是字符串,显示出S的文本例如:
2、>>disp(Book)显示的结果为:MATLAB7.14(R2012a)基础3.利用命令char法格式char(S)%S是字符串,显示出S的文本例如:>>char('MATLAB工具箱')ans=MATLAB工具箱首页4.利用命令input法格式input(out,in)%显示出字符串out的文本并等待终端的输入,in可缺省如果变量in是‘s’,则输入的内容以字符串的形式进行保存。例如,在命令窗口中输入:>>x=input('Giveanumberx:')显示的结果为:Giveanumberx:然后
3、在“x::”的后面输入一个数,不妨为6,回车即得:x=6此时数值6以变量x的形式显示在Workspace工作空间内。若执行如下命令:>>x=input('Giveanumberx:','s')Giveanumberx:6x=6此时数字6以字符串的形式保存在Workspace工作空间内。5.在字符串中用两个单引号来表示一个单引号>>'It''sareferencebook.'ans=It'sareferencebook.3.1.2串数组的访问和大小1.串数组的访问字符串的存储是按其中字符逐个顺序单一存放
4、的,且存放的是字符的内部代码ASCII码。当在屏幕上显示字符变量的值时,显示出来的是文本,而不是ASCII数字。由于字符串是以向量的形式来存储的,所以可以通过它的下标对字符串中的任何一个元素进行访问。例如,对上面定义的字符串Book,输入命令:>>Book(14:19)ans=R2012a3.字符串的查找在字符串中寻找某个字符串可用函数findstr来实现。格式findstr(S1,S2)%S1、S2都为字符串,表示在较长的字符串中查找较短的字符串出现的次数,并返回其位置2.字符串的长度一个字符串的长
5、度可用length和size函数来确定大小。例如:>>length(Book)ans=22>>size(Book)ans=122例如,在上面定义的字符串Book中查找A所在的位置:>>findstr(Book,'A')ans=25>>findstr('A',Book)ans=25注:字符串和要查找的字符串的位置可以互换,结果相同。因此,无论S1、S2哪个为长字符串,位置在前在后都没有关系。3.1.3多行串数组的创建首页1.多行串数组的直接输入字符串数组可以是多行多列的数组,但必须保证每一行都有相同的列
6、数。若字符串长度不一样,需要用空格填充,保证所有行的长度都相同。例如:>>S1=['Thisstringarray';'hastworows.']%使用矩阵产生法,第二行后面需加4个空格S1=Thisstringarrayhastworows.2.利用串操作函数创建多行串数组利用函数char、strvcat创建多行串数组,每行的字符串长度可以不同。例如:>>S1=char('Thisstringarray','hastworows.')S1=Thisstringarrayhastworows.>>S2
7、=strvcat('创建','多行','字符串数组')S2=创建多行字符串数组1.字符串转换成矩阵将字符串转换成矩阵的函数为str2mat。例如:>>S={'数值','字符串','2012年6月'}>>M=str2mat(S)S='数值''字符串''2012年6月'M=数值字符串2012年6月3.1.4字符串数组的转换2.字符串与数值的转换利用str2num和num2str实现字符串与数值的相互转换。例如:>>X=1:9;>>S=num2str(X)S=123456789注:虽然S的显示结果与X看上去
8、一样,但其含义不同。X是数组,S是字符串。同样字符串可以转化为数组,例如:>>S=['1122';'3344']S=11223344>>X=str2num(S)X=112233443.2单元数组首页3.2.1单元数组的创建1.使用大括号{}直接创建例如:>>A={'Command','Workspace';'CurrentDirectory','History'}A='Command''Workspace''CurrentDirectory''Histo
此文档下载收益归作者所有