从数据库导入数据时,我将其作为单元格接收。单元格的一行包含双精度值(例如0.3421 0.5545 0.9199),另一行仅包含int32值(1 1 0)。 当我想用cell2mat变换整个单元时,出现不匹配错误。如果我分别在每一行上使用cell2mat,则会收到一个矩阵,该矩阵是double的,一个矩阵是int32的。是否有一个功能可以将整个单元格转换成两倍的矩阵?
编辑:我事先不知道哪一行是int32,哪一行是双精度,因此不一定是第1行和第2行。有> 50行
答案 0 :(得分:1)
在使用cell2mat之前,您可以使用cellfun将所有数据转换为双精度数据:
a={int16(round(100*rand(100,1))), int32(round(100*rand(100,1)))}
b = cellfun(@double, a, 'uni', false);
cell2mat(b)