matlab程序语言设计第7章

matlab程序语言设计第7章

ID:44271272

大小:546.00 KB

页数:129页

时间:2019-10-20

matlab程序语言设计第7章_第1页
matlab程序语言设计第7章_第2页
matlab程序语言设计第7章_第3页
matlab程序语言设计第7章_第4页
matlab程序语言设计第7章_第5页
资源描述:

《matlab程序语言设计第7章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七章字符串处理7.1字符阵列7.2字符串单元阵列7.3字符串比较7.4字符串搜索与取代7.5字符串与数值之间的变换7.6综合设计示例7.7字符串函数习题7.1字符阵列在MATLAB中,字符是以其ASCII码表示的,这样可直接在屏幕上显示字符或者在打印机上打印字符。输入字符数据时应用单引号括起来,例如输入>>name='西安电子科技大学电子工程学院';这时采用class命令可以检查其类型>>class(name)ans=char这说明变量name的类型为字符型,再输入size(name)ans=114这说明name占用1×14向量,从这可以看出每个汉字只占用一个字符位置。

2、众所周知,一个汉字需要用两个字节的内码表示,每个字符应该占用两个字节,这一点可由下列命令得到证实:>>name1='MATLAB';>>whosNameSizeBytesClassans1x48chararrayname1x1428chararrayname11x612chararrayGrandtotalis24elementsusing48bytes变量name含有14个汉字,占用了28个字节,然而,name1包含有6个英文字母,占用12个字节,这说明每个字符都采用16位的ASCII码存储。7.1.1字符与ASCII码之间的变换在MATLAB中,每个字符按16位的AS

3、CII码存储,这大大方便了在MATLAB中使用双字节内码字符集,如汉字系统。利用double和char函数可在字符与其ASCII码之间进行转换。例如,在得到上述name和name1后输入>>a1=double(name1)a1=776584766566>>a=double(name)a=Columns1through85298345234465675525149094483164632353671Columns9through14465675525147524460285367154458>>aname1=char(a1)aname1=MATLAB>>aname=char

4、(a)aname=西安电子科技大学电子工程学院7.1.2建立二维字符阵列在建立二维阵列时,应注意确保每行上的字符数相等,如果长度不等,应在其后补空格。例如输入>>str1=['MATLAB';'SIMULINK']str1=MATLABSIMULINK必要时可利用blanks函数补上空格,例如输入>>book1='MATLABProgrammingLanguage';>>book2='SignalProcessingusingMATLAB';>>book3='ControlSystemusingMATLAB';>>book4='NeuralNetworkusingMATL

5、AB';disp([length(book1),length(book2),length(book3),length(book4)])27302727>>BOOK=[book1blanks(3);book2;book3blanks(3);book4blanks(3)]BOOK=MATLABProgrammingLanguageSignalProcessingusingMATLABControlSystemusingMATLABNeuralNetworkusingMATLAB当从字符阵列中提取字符串时,可利用deblank函数删除字符串末尾多余的空格>>str2=BOOK(

6、1,:);length(str2)ans=30>>str3=deblank(str2);length(str3)ans=27这说明在str3中已删除了末尾的空格。7.2字符串单元阵列建立字符串单元阵列存储字符串,比字符阵列更方便、更灵活。MATLAB专门为处理字符串单元阵列提供了函数,如cellstr,findstr等。利用cellstr函数可方便地将字符阵列变换成字符串单元阵列。例如,在上面已得到BOOK字符阵列后,输入>>BOOKcell=cellstr(BOOK)BOOKcell='MATLABProgrammingLanguage''SignalProcessin

7、gusingMATLAB''ControlSystemusingMATLAB''NeuralNetworkusingMATLAB'建立了字符单元阵列BOOKcell,这时每个元素均为字符串,而且已删除了末尾的空格,这可通过length函数求取其长度来证实。length(BOOKcell{1})ans=27相反,利用char函数可将字符单元阵列变换成字符阵列,而且能够自动在阵列元素中加上适当的空格,以便使每行的长度相等。>>BOOK1=char(BOOKcell)BOOK1=MATLABProgrammingLanguageSi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。