字符串和数字的Matlab连接

时间:2013-11-18 20:48:29

标签: string matlab concatenation dimensions

我有两个1乘n矩阵A和B. A充满了字符串'test''test2''test3;等等,B的编号为123,4567,89等。

我如何交织这两个以获得像

这样的输出
test       123
test2     4567
test3       89

作为字符串?

我目前的问题是字符串的长度可变,所以[A; B]导致尺寸不匹配的问题。

1 个答案:

答案 0 :(得分:0)

您可能希望连接一个字符串数组(此处A是一个单元格数组,转换为char数组A2),其中第二个字符串数组(B2)对应于您的数值B。双到字符串转换使用sprintf%d代表整数格式。

此代码

A = {'test'; 'test2'; 'test3'}           %cell of strings      
B = [123; 4567; 89]                      %array of doubles 

A2 = char(A);                            %array of strings
B2 = reshape(sprintf('%8d',B), 8, [])';  %convert to integer + char + reshape + transpose
[A2 B2]

生成一个char数组,其中数字部分由8个char

组成
ans =

test      123
test2    4567
test3      89