写一个string数组的string从Matlab的Excel?

我想把基因的名字写入excel,但是当我运行这个代码时,matlab并没有写入任何东西到excel中。 我想填写的单元格留空。 我似乎无法弄清楚我的代码中缺less的东西。 names是一个string名称的单元格数组。

function nameWriter() x = importdata('mitominerratmitochondrialoutermembraneproteins'); names = {}; n = length(x.textdata); counter = 0; for i = 1:n if strncmp(x.textdata(i),'>', 1) ==1 names{end+1} = x.textdata(i); counter = counter +1; end end xlswrite('aacount2.xls', names, 'B1:CB1'); end 

我相信你的错误的可能来源是你没有考虑到x.textdata将会是一个string数组(如输出参数A的IMPORTDATA文档中所描述A )。 当你给这样的names分配数据时:

 names{end+1} = x.textdata(i); 

实际上,你将一个单元格数组放在另一个单元格数组中,而XLSWRITE显然不能处理嵌套单元格数组(即输出包含单元格数组的input单元格的空白字段)。 你应该使用花括号而不是括号来访问x.textdata的单元格内容 ,如下所示:

 names{end+1} = x.textdata{i};