引自百度经验:
使用函数blanks以生成空白字符串。参数是空格个数。
使用中括号可以连接多个字符串。
strcat可以连接字符串(参数可以是字符数组或者元元素为字符串的元胞数组)
使用strcat连接多个字符串时,会自动去除字符串尾部空格/tab等。
但是使用strcat连接元胞数组中的字符串时,不会去除空格。
使用strcat可以连接多个元胞数组,会将每个数组的对应元素相连。
要注意的是,数组应该相同大小(其中一些可以只有一个元素)。
使用strjoin可以连接一个元胞数组中的字符串(带有间隔)
默认使用一个空格做间隔。可以通过第二个参数指定间隔字符串。
strjoin可以有变化的间隔字符串。
此时两个参数均为元胞数组,第一个是待连接元胞数组(长度n),第二个是间隔字符串的元胞数组(长度n-1)
sprintf函数可以用来格式化字符串,用法和C类似不再赘述。
可以有两个返回值,第二个返回值是出错信息。
char函数可以根据编码得到字符/字符数组。
的输入可以是单个数字(0~65535),也可以是由前述数字组成的列表,也可以是多个列表。
0~65535对应unicode,其中0~127也对应于7位ASCII码。
char函数也可以从时间类型转换得到字符数组。可以带有第二个参数:时间格式。
ischar函数可用来判断是否是字符数组。
cellstr可以将字符数组转化成元胞数组,如图。
cellstr也有类似的从时间类型得到字符串数组(元胞数组)的功能。
iscellstr用来判断一个数组是不是由字符串组成的元胞数组。
如图,A不符合因为A{2}不是字符串。但是{{A{1},A{3}}就符合。
END
在Matlab中,想要将两个字符串连接在一起,有以下的方法:
假定有两个字符串
>> str1='Iloveyou';str2='123';
方法一:用中括号将str1和str2像矩阵元素一样包含起来:
>> SC=[str1,str2]
SC =
Iloveyou123
(若想验证str1和str2确实被连接起来,可调用length函数测试SC的长度。)
方法二:用strcat函数
>> SB=strcat(str1,str2)
SB =
Iloveyou123
注意,strcat函数有许多用法,如下例:
>> strcat({'Red','Yellow'},{'Green','Blue'})
ans =
'RedGreen' 'YellowBlue'
但下句则结果就不一样了:
>> strcat(['Red','Yellow'],['Green','Blue'])
ans =
RedYellowGreenBlue
方法三:利用sprintf函数
>> number=123;
>> STR=sprintf('%s%d',str1,number)
STR =
Iloveyou123
问题1,举例如下:
str1 = 'M01';
str2 = '_1';
str3 = [str1 str2];
问题2:
for i = 1 : 28
diff(i) = sum(sum(abs(image_comp(i,:,:) - image_ref(:,:))));
end
image_comp是待比较的图像序列矩阵
image_ref是参考图像矩阵