0

我有一个数组,我想基本上将其捕获为文本,因此我可以将它作为列标题写入 Excel 文件的一个单元格。这是一系列主题,我将在下面提供一些数据。所以范围是:

range = 2:12;

它创建和数组,但我希望 Excel 文件头只读取 2:12。我尝试使用 num2str 创建另一个变量来在一个字段中捕获此文本,如下所示:

rangeChar = num2str(range);

我得到:

rangeChar = 2   3   4   5   6   7   8   9  10  11  12

但它们都是单独的字段,因此当导出到 Excel 时,它们各自占据自己的单元格。原始范围并不总是连续的 - 例如我可能有

range = cat(2, 2:4, 8, 9:12);

所以我不能只做一个

rangeChar = sprintf('%d:%d', range(1), range(end)); 

类型的东西。有什么想法吗?

4

3 回答 3

1

您可以反过来做,将范围保留在字符串中,并在需要时从中提取向量:

rangeChar = '2:12';
range = eval(rangeChar);
于 2013-09-06T20:06:59.660 回答
0

使用单元格数组来保存“范围”并使用以下代码:

range = {2:4, 8, 9:12};
range_str=repmat({''}, size(range));
for i=1:length(range)
    if length(range{i})==1
    range_str{i}=sprintf('%d', range{i});
    else
    range_str{i}=sprintf('%d:%d', range{i}(1), range{i}(end));
    end
end
range_str

输出 :

range_str = 

'2:4'    '8'    '9:12'
于 2013-09-06T20:36:49.667 回答
0

你不能写:

range = '2:12';
于 2013-09-06T19:18:37.403 回答