文档详情

matlab第6章字符串处理.ppt

发布:2017-04-28约1.68千字共17页下载文档
文本预览下载声明
第七章 字符串处理 ;7.1字符阵列;一、字符与ASCII码之间的变换 利用double函数和char函数可实现在字符与其ASCII码之间进行变换。 例如: name=‘河北大学’ %字符串 a=double(name) %转变为ASCII码 name=char(a) %ASCII码转变为字符 ;二、建立二维字符阵列 注意:建立二维阵列时,应注意确保每行上的字符数相等,如果长度不等,应在其后补空格。可以利用blanks(n)函数来添加空格。利用deblank函数可以删除字符串末尾多余的空格。 例如: s1=‘welcome to hebei university ’ s2=‘you are welcome to my hometown’ s=[s1blanks(3);s2] ; 7.2 字符串单元阵列 字符串单元阵列中每个元素均为字符串,而且已经删除了末尾的空格。 1.利用cellstr函数可以方便的将字符阵列变换成字符串单元阵列 例如: cell=cellstr(s) 2.利用char函数可以进行反变换 例如:s=char(cell) ;7.3字符串比较;7.3字符串比较;例如: s1=‘help’,s2=‘hello’,s3=‘Hello’ k1=strcmp(s1,s2) 则k1=0 k2=strcmpi(s1,s3) 则k2=1 二、比较字符是否相同 利用关系操作符。 ;三、英文字母的检测 isletter函数和isspace函数,返回结果为(1)或假(0)。 例如:s=‘hebei 2004’ letter=isletter(s) space=isspace(s) ;7.4 字符串搜索与取代 利用findstr(查找某个字符串) strmatch(字符串匹配) strrep(修改字符串) strtok(提取字符串的首部) 等函数可以完成字符串的搜索与取代 例如: function allwords=words(sentence) r=sentence allwords=‘’; While(any?) [w,r]=strtok(r) Allwords=strvcat(allwords,w) ;7.5 字符串与数值之间的变换 常用的有 int2str(数值转换为字符) num2str(含有小数的数值转换为字符) bin2dec(二进制转换为十进制) hex2dec(十六进制转换为十进制)base2dec(三进制转换为十进制) dec2base(十进制转换为三进制);7.7字符串函数;7.7字符串函数;7.7字符串函数;7.7字符串函数;例1 混合频率信号成分分析,有一信号x由三种不同频率的正弦信号混合而成,通过得到信号的DFT,确定出信号的频率及其强度。程序如下 t=0:1/119:1; x=5*sin(2 * pi * 20 * t)+3*sin(2 * pi * 30 * t)+sin(2 * pi *45 * t); y=fft(x); m=abs(y); f=(0:length(y)-1)’*119/length(y); figure(1) Subplot(2,1,1),plot(t,x),grid on title(‘多频率混合信号’) ;ylabel(‘Input\itx’),xlabel(‘Time’) subplot(2,1,2),plot(f,m) ylabel(‘Abs.Magnitude’),grid on xlabel(‘Frequency (Hertz)’)
显示全部
相似文档