上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2 字符型
MATLAB中的字符串为Unicode字符数组,即每个字符都有对应的一个数值,定义字符串只需将字符内容置于单引号之内即可,例如
>> school='Soochow University'↙
school = Soochow University
>> whos school↙
Name Size Bytes Class Attributes school 1x18 36 char
变量school中包含18个字符(空格计在内),类型为字符型(char)
函数ischar可以判断某变量是否为字符型,可以使用函数strcat和strvcat进行字符串的横向和纵向拼接,char函数也可以进行纵向拼接,例如
>> s1=strcat('Hello', 'everyone')↙
s1 = Helloeveryone
>> s2=strvcat('Hello', 'everyone')↙
s2 = Hello everyone
>> s3=char('Hello', 'everyone')↙
s3 = Hello everyone
>> whos s1 s2 s3↙
Name Size Bytes Class Attributes s1 1x11 22 char s2 2x8 24 char s3 2x8 24 char
可以看出函数strvcat和char会在较短字符串后添加空格,以使每个字符串等长,strcat函数在横向拼接时会忽略字符串末尾的空格,例如
>> strcat('Hello ', 'everyone')↙
ans = Helloeveryone
避免这种情况的一种简便方法就是使用拼接运算符[]进行横向拼接,但在使用其进行纵向拼接时要确保每个字符的长度相同,例如
>> s1=['Hello ' 'everyone']↙
s1 =
Hello everyone
>> s2=['Hello ';'everyone']↙
s2 = Hello everyone
char函数可以将ASCII码转换为对应的字符,例如
>> char(32:127)↙
ans = !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh ijklmnopqrstuvwxyz{|}~