我有一个数组,我想基本上捕获为文本,所以我可以将它作为列标题写入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));
类型的东西。有什么想法吗?
答案 0 :(得分:1)
你可以反过来做并保持字符串中的范围,并在需要时从中提取矢量:
rangeChar = '2:12';
range = eval(rangeChar);
答案 1 :(得分:0)
难道你不能写:
range = '2:12';
答案 2 :(得分: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'