我有以下内容:
A = [1 2 5; 1 5 7];
B = A(1,:);
我输出 B:
B = A(1,:);
B =
1 2 5
我希望将 B 中包含的内容组合成一个字符串:
1/2/5
您可以使用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 正确指出的那样,如果将此字符串写入管道或文件中,则可能会出现问题。所以请谨慎使用。
如果您希望它正确完成(IE 可重用),有两个步骤:
将您的数字转换为字符串(这将允许以后使用http://www.mathworks.com/help/matlab/ref/num2str.html正确转换疯狂的值num2str
水平连接字符串(您可以使用 MATLAB 连接属性 A = [BC]),但功能方式是strcat
http://www.mathworks.com/help/matlab/ref/strcat.html