资源描述:
《matlab-字符串-元胞-构架数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三字符串元胞构架数组字符串数组字符串数组的属性和标识复杂串数组的创建串转换函数和串操作函数元胞数组构架数组数据类型归纳1§3.1字符串数组(CharacterStringArray)[例3-1]字符串入门>>String1='b';>>String2=‘Thisisanexample!’;%英文字母、空格、数字、标点、中文字符>>String3=‘例子’‘chararray’‘’;%都是占一个元素位,两个字节>>s1=class(String1)s1=char>>s2=size(String2)s2=119>>wh
2、osNameSizeBytesClassString11x12chararrayString21x1938chararrayString31x1428chararrays11x48chararrays21x216doublearrayGrandtotalis26elementsusing64bytes2§3.1.1字符串数组的属性和标识1)创建串数组:必须将待建字符放在“单引号对”中,“单引号对”必须在英文状态下输入。2)串数组的大小:size指令获得串数组的大小。串中的每一个字符,包括中英文字符、空格、标点都算一个元
3、素。3)串数组的标识:自左向右用数字1、2、3、4…标识。4)ASCII码显示:abs和double指令可以显示串数组对应的ASCII码数值数组。char指令则可以把ASCII码数值数组转换成串数组。5)ASCII码数组的操作:可以对ASCII码数组进行数值数组的各种运算。注意:必须在英文状态下输入“单引号对”。当字符串中包含单引号时,用连续两个单引号表示。3[例3-2]串数组基本操作>>string=‘thisisanexample!‘%输入字符串stringstring=thisisanexample!>>s_1=
4、string(end:-1:1)%倒序排列string得到s_1s_1=!elpmaxenasisiht>>w=string>=‘a’&string<=‘z‘%找出所有小写英文字符,用逻辑数组表示w=Columns1through101111011011Columns11through19011111110>>STRING=string;%将小写字符转换成大写字符>>STRING(w)=char(string(w)-32)%ASCII码相差32STRING=THISISANEXAMPLE!>>Str=[‘Exm03_2
5、.m’,string(5:end)]%构造新的字符串Str=Exm03_1.misanexample!4§3.1.2复杂字符串数组的创建1)直接输入多行串数组必须保证各行等长,可以利用增减“空格”实现。s=[‘Hello,’,%6个元素,需要补充11个空格‘Nicetomeetyou!’];%17个元素2)利用串操作函数创建常用的有:char,str2mat,strvcat。不需要考虑各行长度,自动按最长行设置。s=char('Hello,','Nicetomeetyou!');s=str2mat('Hello,','
6、Nicetomeetyou!');s=strvcat('Hello,','Nicetomeetyou!');size(s)=2*17区别:str2mat认为空串''代表空行;strvcat省略空串s1=str2mat('Hello','','Nicetomeetyou');size(s1)=3*17s2=strvcat('Hello,','','Nicetomeetyou!');size(s2)=2*17‘’*ones(1,11)s1=HelloNicetomeetyous2=HelloNicetomeetyou53)
7、利用串转换函数创建常用的有:int2str,num2str,mat2strint2str:整数数组转换成字符串,非整数四舍五入。num2str:非整数数组转换成字符串。mat2str:数值数组转换成字符串。区别:>>a=[0.95760.82.151;4.057.8]>>a1=int2str(a)%取整数>>a2=num2str(a,2)%2位有效数字>>a3=mat2str(a,2)%一行字符a=0.95760.80002.15104.00005.00007.8000a1=112458a2=0.960.82.2457
8、.8a3=[0.960.82.2;457.8]相应的有字符串转换成数值数组的str2num指令。其他还有sprintf(以指定格式写入变量中),sscanf(字符串转换成数值),fprintf(数值写到屏幕或文件)等指令,可以利用helpFun察看具体的使用方法。格式控制(format)参照C语言。例如:>>fprintf('%.