比如说你有一个细胞型文件,举个例子:
然后呢,你想把这个细胞型文件转成矩阵,数据类型变成double,最简单的思维方式就是cell2mat,先转成string,然后再str2num就好了。很可惜,在matlab里面,cell2mat是默认要求你的矩阵的大小是统一的,可是这里呢,‘8’的长度是1,‘14’的长度是2,所以转换的时候就会出问题,就会出现错误提示。
方法No.1:
方法No.2:
>> a={'8';'8';'8';'14';'21';'25';'27';'31'} a = '8' '8' '8' '14' '21' '25' '27' '31' |
>> cell2mat(a) ??? Error using ==> cat CAT arguments dimensions are not consistent. Error in ==> cell2mat at 89 m{n} = cat(1,c{:,n}); |
方法No.1:
str2num(char(cell)) |
方法No.2:
cellfun(@str2num, cell) |