您好我正在尝试创建一个字符串的单元格数组:
data = ['1';'2';'3';'4';'5';'6';'7';'8';'9';'10';'11';'12';'13';'14';'15';'16';'17';'18';'19';'20';];
我希望有25个元素的单元格数组。但我明白了:
length(data)
= 33
所以显然数字12,13等计为2位。
我的问题是如何确保单元格数组长度为20?即使我正在使用整数,我将单元格数组放入的函数也必须是字符串的单元格数组。
答案 0 :(得分:16)
你需要这样做:
data = {'1';'2';'3';'4';'5';'6';'7';'8';'9';'10';'11';'12';'13';'14';'15';'16';'17';'18';'19';'20';};
使用{}
。这些将形成一个单元阵列。
答案 1 :(得分:11)
您可以使用{}
代替[]
来构建单元格,也可以使用strsplit
构建一个任意长度的字符串单元格,表示从1到N
的数字:
data = strsplit(num2str(1:N));
更新:现在最快的方法是使用未记录的sprintfc
函数(注意末尾的“c”)将每个元素打印到它自己的单元格中/ p>
>> A = sprintfc('%g',1:20)
A =
Columns 1 through 11
'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11'
Columns 12 through 20
'12' '13' '14' '15' '16' '17' '18' '19' '20'
>> which sprintfc
built-in (undocumented)