问题是:
A = [9 10];
我想获得B = {' 09',' 10'};
我做到了:
for hij=1:size(A,1)
if A{hij}<9
B{hij}=strcat('0',num2str(A{hij}),'');
else
B{hij}=strcat('',num2str(A{hij}),'');
end
end
但我想知道是否有可能在不使用循环的情况下制作它,可能使用&#34; cellfun &#34 ;;谢谢!
答案 0 :(得分:3)
这是你想要的吗?
>> B = num2str(A(:),'%02d'); %// second argument to num2str is format spec
B =
09
10
这给出了一个字符串矩阵B
。要将B
转换为字符串的单元格数组:
>> B = mat2cell(B,ones(1,size(B,1))).';
B =
'09' '10'
或者,如Divakar所述,
>> B = cellstr(B).';
B =
'09' '10'
答案 1 :(得分:1)
C = arrayfun(@num2str, A,'UniformOutput', 0 );