【发布时间】:2012-12-13 18:28:51
【问题描述】:
当我尝试将 xlswrite 用于 4X10 左右的元胞数组(每个元素中具有不同长度的字符串)时,MATLAB 返回此错误:
Error using xlswrite (line 188)
An error occurred on data export in CSV format.
Caused by:
Error using dlmwrite (line 118)
The input cell array cannot be converted to a matrix.
我把它归结为“xlswrite”调用的“dlmwrite”函数中的某个地方,它调用“cell2mat”,它将单元格数组的元素连接到一个字符数组。但是,它将垂直和水平连接元素,并且如果字符元素的长度不同,则无法垂直连接字符元素。您最终会得到一个尺寸不一致的数组。例如,
如果我有“abcdef”和“abc”,将它们垂直连接会得到:
abcdef
abc
第一行长度为6,第二行长度为3,如果你说的是矩阵,这在逻辑上没有意义,在这种情况下应该是2X6。
有人知道解决方法吗?我对 MATLAB 中的这个故障感到非常沮丧。
【问题讨论】:
-
你能把你想写的数据贴出来吗?
-
a = {'$','gsqtmpiv','lsso';'gsqqmwwmsr','efwxvegxmsr','gpsgo';'hexyq','tst','vyffiv';'pek' ,'geqive','xerkmivw';'tvigsppyhih','fewmexih','vywxmgepp}';
-
简单的解决方法是自己填充数据。此外请注意,您的
a似乎没有正确定义,最好在问题中包含最小示例。