matlab笔记——字符串006剖析

上传人:今*** 文档编号:105871045 上传时间:2019-10-13 格式:DOCX 页数:12 大小:65.30KB
返回 下载 相关 举报
matlab笔记——字符串006剖析_第1页
第1页 / 共12页
matlab笔记——字符串006剖析_第2页
第2页 / 共12页
matlab笔记——字符串006剖析_第3页
第3页 / 共12页
matlab笔记——字符串006剖析_第4页
第4页 / 共12页
matlab笔记——字符串006剖析_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《matlab笔记——字符串006剖析》由会员分享,可在线阅读,更多相关《matlab笔记——字符串006剖析(12页珍藏版)》请在金锄头文库上搜索。

1、006. 字符串字母、数字、特殊符号都是字符;一串连续的字符就是字符串。 一般认为字符串是由空格和多个字符构成,记为str = a1a2an (n0)ai可以是字母、数字、特殊符号、空格,每个字符占1位存放成一个行向量(1n矩阵),从而可以通过下标访问字符串的元素。多个字符串也可以构成字符矩阵,但必须长度相同。一、 字符串的创建1. 将字符串的字符放在一组英文单引号中间即可,例如str1 = Were going to study Matlab!% 必须英文状态下的单引号,单引号元素用两个单引号l = length(str1) % l返回列数,即字符串包含字符的个数zhstr1 = 中文字符串

2、示例! % 中文字符串,也是英文单引号size(zhstr1)运行结果:str1 =Were going to study Matlab!l =28zhstr1 =中文字符串示例!ans= 1 82. 用元胞数组存放复杂字符串,或cellstr()函数C1 = Matlab 2010b includes data types:;Double array; Character array;and so onclass(C1) % 返回 C1 的数据类型size(C1)C2 = char(Matlab 2010b includes data types:, . Double array, . Ch

3、aracter array,. and so on)class(C2)size(C2)C3 = cellstr(C2); % 同 C1运行结果:C1 = Matlab 2010b includes data types: Double array Character array and so onans=cellans= 4 1C2 =Matlab 2010b includes data types:Double arrayCharacter arrayand so onans=charans= 4 33注:这里C1也可以用strvcat(str1, str2,)实现类似的存储效果,见下文【字

4、符串的连接】。二、 字符串的访问和操作字符串是以行向量形式存储的,可通过下标访问。1. 替换字符串中的元素str1 = Were going to study Matlab!;str1(16:20) = learn% 将study替换为learn,注意study是从第16个位置开始的运行结果:str1 =Were going to learnMatlab!2. 取出字符串的子串str1 = Were going to study Matlab!;str2 = str1(16:20)运行结果:str2 = learn3. 字符串顺序的倒排str1 = Were going to study Ma

5、tlab!;str3 = str1(end:-1:1)运行结果:str3=!baltaMnraelotgniogereW4. 字符串字符的ASCII值与字符相互转换字符串的元素存放的是字符的ASCII码值,显示在屏幕上的是字符本身。从字符到ASCII码:double( ) 从ASCII码到字符:char( )str1 = Were going to study Matlab!;ustr1 = double(s1)str4 = char(us1)zhstr1 = 中文字符串示例!;double(zhstr1)运行结果:ustr1 = Columns 1 through 15 87 101 39

6、114 101 32 103 111 105 110 103 32 116 111 32 Columns 16 through 28 108 101 97 114 110 32 77 97 116 108 97 98 33str4 =Were going to learn Matlab!ans = 20013 25991 23383 31526 20018 31034 20363652815. 字符串英文字母转换大小写str1 = Were going to study Matlab!;upper(str1) % 全变为大写lower(str1) % 全变为小写运行结果:ans =WERE G

7、OING TO LEARN MATLAB!ans = were going to learn matlab!6. 字符串的连接strcat(str1, str2,)将字符串str1, str2,连接合并为一个长字符串;strvcat(str1, str2,)将字符串str1, str2,连接成字符串向量(n1的字符串矩阵,或nmi字符矩阵);str1 = abcdefg; str2 = hijklmnopq;str3 = strcat(str1,str2) % 将两个字符串合并为一个长字符串str4 = strvcat(str1,str2) % 将两个字符串连接成字符串向量whos str3%

8、 返回str3的结构形式whos str4% 2x 1的字符串矩阵运行结果:str3=abcdefghijklmnopqstr4=abcdefghijklmnopqName Size Bytes Class Attributesstr3 1x14 28 charName Size Bytes Class Attributesstr4 2x7 28 char7. 字符串的比较strcmp(str1,str2)str1与str2相等返回1,否则返回0(区分大小写);strcmpi(str1,str2)str1与str2相等返回1,否则返回0(不区分大小写);strncmp(str1,str2,n)

9、比较str1与str2前n个字符是否相等(区分大小写)strncmpi(str1,str2,n)比较str1与str2前n个字符是否相等(不区分大小写)strcmp(str1,str2)strcmpi(abCD,abcd)strncmp(Abcde,str3,5)strncmpi(Abcde,str3,5)运行结果:ans=0ans=1ans= 0ans=18. 字符串的查找与替换findstr(str1,str2)在较长字符串中查找较短字符串出现的各个位置(str1,str2谁先谁后都没关系);strfind(str1,key)在字符串str1中查找字符串key出现的位置;strmatch(

10、key,strs)检查多行的字符串strs,以列向量形式返回各行以字符串key开始的各个行号;strrep(str1,str2,str3)把str1中含有str2位置用str3替换;str = Find the starting indices of the shorter string.;findstr(str, the)findstr(the, str)strfind(str,the)strfind(the,str)strmatch(hij,str4) % 字符串str4第2行是以hij开始的strrep(str,the,a)运行结果:ans= 6 30ans= 6 30ans= 6 30

11、ans=ans = 2ans =Find a starting indices of a shorter string.9. 数值矩阵与字符串转换num2str(A)数值矩阵转换为字符串向量(字符矩阵);str2num(str)字符串向量(字符矩阵)转换为数值矩阵;mat2str(A)将数值矩阵A的表达式转换为字符串“”“”“;”等都保留;int2str(A)整数矩阵转换为字符串向量(字符矩阵)。A = 1,2,3;4,5,6;77,88,99whos Astr = num2str(A)whosstrnum = str2num(str); % num等于A str1 = mat2str(A)w

12、hos str1 str2 = int2str(A); % 其值等于前面的str,% 若A不是整数矩阵先四舍五入为整数矩阵运行结果:A = 1 2 34 5 677 88 99Name Size Bytes Class Attributes A 3x3 72 doublestr= 1 2 34 5 677 88 99Name Size Bytes Class Attributesstr 3x10 60 charstr1 =1 2 3;4 5 6;77 88 99Name Size Bytes Class Attributesstr1 1x22 44 char10. 其他函数blanks(n)返

13、回n个空格组成的字符串;deblank(str)删除字符串末尾的空格;strtrim(str)删除字符串开头、结尾的空格、制表符、换行符;isspace(str)返回和str同样大小的向量,空格、制表符、换行符的位置是1,其他位置是0;lasterr返回上一个错误信息的字符串。三、 字符串的应用1. eval()函数将括号内的字符串视为执行代码并运行例如,eval(y=sin(pi/2)和y = sin(pi/2)等价运行结果都是:y = 1Eval()函数多在循环中搭配num2str()函数一起使用,可以对多个名字有规则的变量或文件进行操作,例如,fork=1:3;eval(y num2str(k) = num2str(k2) % 实现yk = k2endD = odedemo;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号