欢迎来到天天文库
浏览记录
ID:20289025
大小:106.50 KB
页数:23页
时间:2018-10-09
《03字符串、元胞与构架数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章字符串、元胞和构架数组MATLAB6.x版的内建数据类型(Built-indatatype)就有5种以上,此外还有许多其他专门设计的类(Class),如符号类、内联函数类、控制工具包中的线性时不变模型类、神经网络类等。就程序设计而言,MATLAB6.x版采用了面向对象编程技术。数据和编程的改变使用户能更简捷而自然地解决复杂的计算问题(如符号计算问题、多变量控制系统问题、神经网络问题)。本章内容根据MATLAB6.5编写,但绝大部分内容适用于其他MATLAB6.x版本。第二章介绍了数值数组(NumericArray),这是读者比较熟悉的数据类型。本章将集中讲述另外三类数据:字符串数组(Ch
2、aracterStringArray)、元胞数组(Cellarray)和构架数组(Structurearray)。它们之间的基本差别见表3-1。表3-1四种数据类型基本构成比较表数组类型基本组分组分内涵基本组分占用字节数数值数组元素双精度实数标量或双精度复数标量816字符串数组元素字符2元胞数组元胞可以存放任何类型、任何大小的数据。不定构架数组构架只有挂接在构架上的“域”才能存放数据。数据可以是任何类型、任何大小。不定3.1字符串数组3.1.1字符串入门【例3.1.1-1】先请读者实际操作本例,以体会数值量与字符串的区别。cleara=12345.6789class(a)a_s=size(a)
3、a=1.2346e+004ans=23doublea_s=11b='S'class(b)b_s=size(b)b=Sans=charb_s=11whosNameSizeBytesClassa1x18doublearraya_s1x216doublearrayans1x48chararrayb1x12chararrayb_s1x216doublearrayGrandtotalis10elementsusing50bytes3.1.1串数组的属性和标识【例3.1.2-1】本例演示:串的基本属性、标识和简单操作。(1)a='Thisisanexample.'a=Thisisanexample.(2)
4、size(a)ans=119(3)a14=a(1:4)ra=a(end:-1:1)23a14=Thisra=.elpmaxenasisihT(4)ascii_a=double(a)ascii_a=Columns1through128410410511532105115329711032101Columns13through191209710911210810146char(ascii_a)ans=Thisisanexample.(5)w=find(a>='a'&a<='z');ascii_a(w)=ascii_a(w)-32;char(ascii_a)ans=THISISANEXAMPLE.(
5、6)A='这是一个算例。';A_s=size(A)A56=A([56])ASCII_A=double(A)A_s=17A56=算例ASCII_A=Columns1through6547545191153947473505219549405Column741379char(ASCII_A)23ans=这是一个算例。(7)b='Example''3.1.2-1'''b=Example'3.1.2-1'(8)ab=[a(1:7),'',b,'.']ab=ThisisExample'3.1.2-1'.3.1复杂串数组的创建3.1.1.1多行串数组的直接创建【例3.1.3.1-1】多行串数组的直接输入示
6、例。注:(此时串长必须要相等)clearS=['Thisstringarray''hasmultiplerows.']S=Thisstringarrayhasmultiplerows.size(S)ans=2183.1.1.2利用串操作函数创建多行串数组【例3.1.3.2-1】演示:用专门函数char,str2mat,strvcat创建多行串数组示例。S1=char('Thisstringarray','hastworows.')S1=Thisstringarray23hastworows.S2=str2mat('这','字符','串数组','','由4行组成')S2=这字符串数组由4行组成S
7、3=strvcat('这','字符','串数组','','由4行组成')S3=这字符串数组由4行组成size(S3)ans=553.1.1.1转换函数产生数码字符串【例3.1.3.3-1】最常用的数组/字符串转换函数int2str(把整数数组转换成串数组),num2str(把非整数数组转换为串),mat2str(把数值数组转换为输入形态串数组)示例。(1)A=eye(2,4);A_str1=int
此文档下载收益归作者所有