在MATLAB中字符数组和字符串数组是容易混淆的两个概念,如果对于字符数组和字符串数组之间的认识如果不是很清楚的话容易造成错误。
例如下面这个例子:
A=['Java','Python','GO','PHP'];
B=["Java","Python","GO","PHP"];
A(2)
B(2)
运行之后显示的结果如下所示:
ans =
'a'
ans =
"Python"
通过运行的结果可以看到字符数组中显示的是第二个字符,而字符串数组显示的是第二个字符串。两者结果运行出来有明显的不同。
在MATLAB中,常常需要对于字符数组和字符串数组之间进行转换。对于字符数组来说,字符数组在转换为字符串数组时会转换为一个字符串,转换为方式为:string(字符数组);对于字符串数组来说,字符串数组在转换为字符数组的时候首先将每个字符串拆分为字符,放入数组中,转换方式为:char(字符串)。
例如对上面的例子进行转换:
A=['Java','Python','GO','PHP'];
B=["Java","Python","GO","PHP"];
A(2)
B(2)
C=string(A);
C(1)
D=char(B);
D(2)
运行后的结果如下所示:
ans =
'a'
ans =
"Python"
ans =
"JavaPythonGOPHP"
ans =
'a'