使用matlab中cell2mat报错:错误使用cat 要串联的数组的维度不一致
解决matlab中cell2mat函数出现的“要串联的数组的维度不一致”的问题
·
使用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
成功转换:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)