从excel读取数据到Matlab中,经常会由于一些原因得到cell格式的数据,当试图用cell2mat将其中数字转成数值格式时,常出现以下报错:
Error using cat
Dimensions of matrices being concatenated are not consistent.
其报错原因在于,数字在cell中以字符串格式保存,当出现位数递增时,其字符串长度便发生了改变,因此在cell2mat调用cat函数时,会出现维度不一致的问题。
了解了原因,解决办法就变得简单。先用char将cell转换为字符数组,即可统一长度,然后再用str2num转成数值数组即可。
load(Data.mat);%加载元胞数组数据
Data = str2num(char(Data));%先用char将元胞数组转成字符数组,再转成数值数组