全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
13394 4
2010-08-16
大家有没有用过cell2mat这个函数,把cell型的数据转成数字。
问题是,转成数字后,有时候会丢失小数点后的位,有时候却又不会,不知道怎么回事。

请教各位大牛如果cell2mat不好用,还有没有别的办法把cell型转成数字。
因为是用数据库语句读进来的,所以数字被放在cell里。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-8-16 15:38:35
或者怎么样从数据库文件中读进来数据后直接放在double型的矩阵里,而不是cell型,谢谢~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-16 18:30:46
已经解决了,可以用setdbprefs('DataReturnFormat','numeric')
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-20 23:45:22
cell2mat只能适合元胞数组是n*n维的情况

% 将数字字符元胞数组转化成double
cell_str_list = {'1 2 3 4 5 6'; '1 3 4'};

a_str = char(cell_str_list);
a_str = a_str.';
a_str = (a_str(:)).';

b_str='';
for ii=1:length(a_str)
    b_str=strcat(b_str,strtok(a_str(ii))); %strtok除去分隔符
end
b_str;

for ii=1:length(b_str)
    b_double(ii)=str2double(b_str(ii));
end
b_double;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-4-15 20:38:10
bluechip 发表于 2010-8-16 18:30
已经解决了,可以用setdbprefs('DataReturnFormat','numeric')
是只需要把这一行代码直接加到前面就可以了吗?我试了下自己的,不太能行。是不是这个只适用于数据库呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群