matlab的字符串拼接本质上是字符数组的拼接,和通常数组的拼接方法一致,都是使用 [] 与 空格 进行拼接的,如:
>> a = [1 2 3];b = [4 5 6 7];
>> c = [a b]
1 2 3 4 5 6 7
所以问题的关键在于如何把各种字符串、数字等转化为字符数组。
首先字符串转化为字符数组使用 char(str) 函数,如:
>> char("abcd")
ans =
'abcd'
在这里我们看到一个关键问题,双引号与单引号的区别,双引号是字符串,单引号是字符数组。
于是拼接字符串代码如下:
>> ['hello' ' ' 'world']
ans =
'hello world'
或者你也可以写成这样:
>> [char("hello") ' ' char("world")]
ans =
'hello world'
如果直接用双引号会是这样:
>> ["hello" " " "world"]
ans =
1×3 string 数组
"hello" " " "world"
同样的,加入数字的字符串拼接如下:
>> for i=1:3
disp(['data6/DATA' char(num2str(i)) '.TXT']);
data6/DATA1.TXT
data6/DATA2.TXT
data6/DATA3.TXT