提前感谢您的帮助。
我有一组看起来像这样的值
[[1x5 double]; [1x2 double]; ....]
我想将此转换为此
['12345'; '12'; ....]
cell2mat有点做我想要的,但我最终得到了这个
[['1' '2' '3' '4' '5']; ['1' '2'];...]
我一直在matlab文档中,并没有找到一种方法来做到这一点。我真正想要的是将[1x5 double]转换为字符串(我无法转换为数字,因为我不想丢弃无关紧要的零)。除了手动执行for循环之外,还有一种简单的方法吗?
答案 0 :(得分:0)
如果input_array
是您的输入数组,请尝试使用此 cellfun
+ num2str
方法 -
cellfun(@(x) num2str(x,'%1d'), input_array,'uni',0)
示例 -
%// Input array
input_array = {randi(9,1,5)-1;randi(9,1,2)-1}
%// Display the cell array values for verification of results later on
celldisp(input_array)
%// Output
out = cellfun(@(x) num2str(x,'%1d'), input_array,'uni',0)
输出(运行中) -
input_array =
[1x5 double]
[1x2 double]
input_array{1} =
3 6 0 5 3
input_array{2} =
6 2
out =
'36053'
'62'