使用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
成功转换:文章来源:https://www.toymoban.com/news/detail-541266.html
文章来源地址https://www.toymoban.com/news/detail-541266.html
到了这里,关于使用matlab中cell2mat报错:错误使用cat 要串联的数组的维度不一致的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!