热线电话:13121318867

登录
2019-02-16 阅读量: 890
Matlab cell2mat具有不同的数据类型 问问题

当我从数据库导入数据时,我将其作为单元格接收。单元格的一行包含双精度值(例如0.3421 0.5545 0.9199),另一行仅包含int32值(1 1 0)。当我想用cell2mat转换整个单元格时,我得到一个不匹配错误。如果我分别在每一行使用cell2mat,我会收到一个矩阵为double,一个矩阵为int32。是否有一个函数能够将整个单元格转换为双精度矩阵?

编辑:我事先不知道哪一行是int32,哪一行是双,所以它不一定是第1行和第2行。有> 50行

解决办法:在使用cell2mat之前,您可以使用cellfun将所有数据转换为双精度数:

a={int16(round(100*rand(100,1))), int32(round(100*rand(100,1)))}

b = cellfun(@double, a, 'uni', false);

cell2mat(b)

0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子