我有以下内容:
A = [1 2 5; 1 5 7];
B = A(1,:);
我输出B:
B = A(1,:);
B =
1 2 5
我希望将B中包含的内容合并为一个单独的字符串:
1/2/5
答案 0 :(得分:4)
您可以使用sprintf
:
sprintf('%d/',B)
这几乎可以满足您的需求,最终会有不必要的/
。
>> sprintf('%d/',B)
ans =
1/2/5/
如果你想删除它:
st = sprintf('%d/',B);
st(end) = [];
正如@hmuster正确指出的那样,可以使用退格符\b
来做到这一点。
st = [sprintf('%d/',B) sprintf('\b')];
但是,正如@AndrewJanke正确指出的那样,如果将此字符串写入管道或文件,则可能会出现问题。所以要谨慎使用它。
答案 1 :(得分:2)
如果您希望它正确完成(IE可重用),则有两个步骤:
将您的数字转换为字符串(这样可以通过num2str
http://www.mathworks.com/help/matlab/ref/num2str.html
水平连接字符串(可以使用MATLAB连接属性A = [B C]),但功能方式为strcat
http://www.mathworks.com/help/matlab/ref/strcat.html