Arrays 如何使用递增的数字初始化单元格数组

Arrays 如何使用递增的数字初始化单元格数组,arrays,matlab,cell-array,Arrays,Matlab,Cell Array,如何用递增的数字初始化单元格数组?对于简单阵列,我可以执行以下操作: A = [1:0.0001:1.1] 单元阵列的等效值是什么?我如何获得: A = {'1', '1.0001', '1.0002', '1.0003', '1.0004', ...} 编辑: 以下是我迄今为止的尝试: cellfun(@(x) num2str(str2double(x)+0.0001), repmat({'1'},1,21), 'UniformOutput', false) 然而,这使: {'1.000

如何用递增的数字初始化单元格数组?对于简单阵列,我可以执行以下操作:

A = [1:0.0001:1.1]
单元阵列的等效值是什么?我如何获得:

A = {'1', '1.0001', '1.0002', '1.0003', '1.0004', ...}
编辑:

以下是我迄今为止的尝试:

cellfun(@(x) num2str(str2double(x)+0.0001), repmat({'1'},1,21), 'UniformOutput', false)
然而,这使:

{'1.0001', '1.0001', '1.0001',...}
有一个名为
sprintfc
的很酷的未记录函数,可以打印到单元阵列:

An = 1:0.0001:1.1;
As = sprintfc('%g',An)
例如:

>> A = sprintfc('%g',0:0.2:1)
A = 
    '0'    '0.2'    '0.4'    '0.6'    '0.8'    '1'
>> which sprintfc
built-in (undocumented)
sprintfc
最近在上突出显示。Yair Altman的又一重大发现。其他一些可能性随之而来


对于数值,请使用
num2cell

A = num2cell(An)
对于字符串表示形式:

A = strsplit(num2str(An))
您也可以使用
cellfun

A = cellfun(@num2str,num2cell(An),'uni',0)
或者只是
arrayfun
,实际上更简单:

A = arrayfun(@num2str,An,'uni',false)

我似乎没有中的函数
strsplit
R2010a@m_power我刚刚记得有一个名为
sprintfc
的未记录函数非常适合这个工作。