使用matlab中cell2mat报错:错误使用cat 要串联的数组的维度不一致
从Excel中用readtable读取数据,因为默认每一列都是cell类型,想转成matrix类型方便使用。
在matlab官方文档搜到cell2mat函数可用于转换
b=cell2mat(a);
但转换时报错:错误使用 cat
要串联的数组的维度不一致
搜索后发现错误原因在于每行cell中长度不一致。
cell中的存储格式是char,用单引号表示出来,直接调用cell2mat,转换成的matrix内的数据类型也为char,但是长度不一致,有的行可能是两个字符有的可能却是三个
在官方文档搜索后发现函数convertCharsToStrings(chr),可以用于合并字符串
于是采用遍历的方式,用比较朴素的方法完成cell2mat:
b=[];for i=1:size(a)b=[b;convertCharsToStrings(a{i})];end
成功转换: