资源描述:
《第3章 《Matlab软件基础及应用》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第三章字符串数组和结构数组3.1字符串数组3.1.1字符串入门【例3.1-1】数值量与字符串的区别。cleara=12345.6789class(a)%对变量a的类别进行判断a_s=size(a)a=1.2346e+004ans=doublea_s=11b='S'class(b)%对变量a的类别进行判断b_s=size(b)b=Sans=charb_s=11whosNameSizeBytesClassa1x18doublearraya_s1x216doublearrayans1x48chararrayb1x
2、12chararrayb_s1x216doublearrayGrandtotalis10elementsusing50bytes3.1.2串数组的属性和标识【例3.1-2】串的基本属性、标识和简单操作。(1)创建串数组a='Thisisanexample.'a=Thisisanexample.9(2)串数组的大小size(a)ans=119(3)串数组的元素标识a14=a(1:4)ra=a(end:-1:1)a14=Thisra=.elpmaxenasisihT(4)串数组的ASCII码用指令abs,dou
3、ble把串数组转化成ASCII码,char()则把ASCII码转换成串说组ascii_a=double(a)ascii_a=Columns1through128410410511532105115329711032101Columns13through191209710911210810146ascii_a2=abs(a)ascii_a2=84104105115321051153297110321011209710911210810146ascii_a3=char(a)ascii_a3=Thisisanex
4、ample.char(ascii_a)ans=Thisisanexample.9(5)对字符串ASCII码的操作w=find(a>='a'&a<='z');%找出串数组a中小写字母的位置ascii_a(w)=ascii_a(w)-32;%大小写字母ASCII码值差32,用数值加法改变部分码值char(ascii_a)%把新的ASCII码翻译成字符ans=THISISANEXAMPLE.(6)中文字符串数组A='这是一个算例。';A_s=size(A)A56=A([56])ASCII_A=double(A)A
5、_s=17A56=算例ASCII_A=Columns1through6547545191153947473505219549405Column741379char(ASCII_A)ans=这是一个算例。(7)创建带单引号的字符串b='Example''3.1.2-1'''b=Example'3.1.2-1'ab=[a(1:7),'',b,'.']ab=ThisisExample'3.1.2-1'.3.1.1复杂串数组的创建9一多行串数组的直接创建【例3.1-3】多行串数组的直接输入示例。clearS=['T
6、hisstringarray''hasmultiplerows.']S=Thisstringarrayhasmultiplerows.size(S)ans=218二利用串操作函数创建多行串数组【例3.1-4】用专门函数char,str2mat,strvcat创建多行串数组示例。S1=char('Thisstringarray','hastworows.')S1=Thisstringarrayhastworows.S2=str2mat('这','字符','串数组','由4行组成')S2=这字符串数组由4行组成
7、S3=strvcat('这','字符','串数组','','由4行组成')S3=这字符串数组由4行组成size(S3)ans=55三转换函数产生数码字符串【例3.1-5】最常用的数组/字符串转换函数int2str,num2str,mat2str示例。A=eye(2,4);%生成一个(2*4)数值数组9A_str1=int2str(A)%转换成串数组A_str1=10000100B=rand(2,4);%生成数值矩阵B3=num2str(B,3)%保持3位有效数字B3=0.950.6070.8910.4560
8、.2310.4860.7620.0185B_str=mat2str(B,4)%保持4位有效数字,转化为数组输入形式B_str=[0.95010.60680.89130.4565;0.23110.4860.76210.0185]【例3.1-6】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。clear%清除内存得所有变量a=2;w=3;t=0:0.01:10;%取自变量采样数y=exp(-a*t).