24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1548  |  回复: 7

xpk250

新虫 (初入文坛)


[交流] 【求助】MTALAB导入数据的精度。。。

小弟使用MATLAB从excel导入数据,excel里面的数据是小数点后十二位的科学计数法,但是导入以后MATLAB默认的是双精度,由于计算需要,不能使用双精度,求各位大虾指点解决办法。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


★ ★
微尘、梦想(金币+2): 谢谢回复…… 2011-04-12 15:08:18
xpk250(金币+1): 2011-05-20 17:15:39
MATLAB基本类型中浮点数最高也就双精度

你确认需要精确到十进制浮点后的第12位?这个必要性请先想想,如果误差允许,用双精度就可以

如果确实有这个必要,实现的方法比较麻烦,还得自己定义运算了,就是像那些“大数算法”一样,加减乘除都要重新实现一遍(嗯,可能不用像大数算法那么麻烦,用int64表示数据,再用一个int32表示指数...不过总之还得自己实现吧)

[ Last edited by sudo on 2011-4-12 at 14:26 ]
2楼2011-04-12 14:22:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想(金币+1): 谢谢参与…… 2011-04-13 15:32:38
引用回帖:
Originally posted by xpk250 at 2011-04-12 14:10:54:
小弟使用MATLAB从excel导入数据,excel里面的数据是小数点后十二位的科学计数法,但是导入以后MATLAB默认的是双精度,由于计算需要,不能使用双精度,求各位大虾指点解决办法。。。

双精度最多可以到小数点后 15 位还是多少来着,不比十二位更精确?

如果你觉得 15 位大多了,大可以 round 啥的啊……
3楼2011-04-12 14:42:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)



jjdg(金币+1): 感谢讲解 2011-04-13 01:19:59
引用回帖:
Originally posted by snoopyzhao at 2011-04-12 14:42:18:
双精度最多可以到小数点后 15 位还是多少来着,不比十二位更精确?

如果你觉得 15 位大多了,大可以 round 啥的啊……

嗯,这是一个误区

http://en.wikipedia.org/wiki/Dou ... oating-point_format

虽然IEEE标准之双精度尾数有52位,折算成十进制约为

2^(-52) = 2.22 * 10^(-16)

也就是你说的精确到“15位”

其实不然,这个二进制到十进制的转换过程使得对于不同数字的精度不同。举个例子来说,双精度能精确表达2^(-52)这个数,却只能近似表达0.1这个数

这个问题很多教科书描述的都不严谨的,嗯=,=

因为这个原因,在C#里面引入了decimal这个数据类型,来满足十进制小数的高精度需求
http://msdn.microsoft.com/zh-cn/library/364x0z75(v=vs.80).aspx

不知道楼主的需求是什么呢,一不小心可能扯远了,呵呵呵
4楼2011-04-12 14:54:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xpk250

新虫 (初入文坛)


引用回帖:
Originally posted by sudo at 2011-04-12 14:54:15:
嗯,这是一个误区

http://en.wikipedia.org/wiki/Dou ... oating-point_format

虽然IEEE标准之双精度尾数有52位,折算成十进制约为

2^(-52) = 2.22 * 10^(-16)

也就是你说的 ...

数据要求高。。。不能只用到小数点后5位啊。。。我只是要导入到数据在显示和运算的时候能精确到小数点后12位。。。
5楼2011-04-12 16:32:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


引用回帖:
Originally posted by xpk250 at 2011-04-12 16:32:18:
数据要求高。。。不能只用到小数点后5位啊。。。我只是要导入到数据在显示和运算的时候能精确到小数点后12位。。。

根据你的描述,可能你只是关注小数的“显示”的问题...那么...

a=1.1234567890123456;
fprintf(1, '%.12f', a)

嗯~
6楼2011-04-12 18:12:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cyl1124

荣誉版主 (文坛精英)



微尘、梦想(金币+1): 谢谢参与…… 2011-04-13 15:32:10
设置计算机的字位步长
7楼2011-04-12 20:39:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg(金币+1): 感谢说明 2011-04-13 01:20:33
matlab的double精度够了吧
只是print到command window的时候你看不到那么多而已
8楼2011-04-13 00:34:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xpk250 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290求调剂 +6 luoziheng 2026-04-10 6/300 2026-04-10 23:22 by babysonlkd
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 332求调剂 +12 蕉蕉123 2026-04-10 12/600 2026-04-10 19:01 by hmn_wj
[考研] 调剂申请086000一志愿西北农林科技大学生物与医药320分-本科齐鲁工业大学 +3 美美女士 2026-04-09 3/150 2026-04-10 10:31 by liuhuiying09
[考研] 材料专硕(0856) 339分求调剂 +9 哈哈哈鹅哈哈哈 2026-04-09 10/500 2026-04-09 20:01 by Orcid
[考研] 一志愿085502,267分求调剂 +10 再忙也要吃饭啊 2026-04-08 11/550 2026-04-09 19:51 by gong120082
[考研] 材料专硕初试分332一志愿西北工业大学, +12 故人?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[考研] 0703化学调剂325分 +13 15771691647 2026-04-04 15/750 2026-04-09 16:55 by 15771691647
[考研] 311求调剂 +6 surte 2026-04-08 13/650 2026-04-09 14:00 by surte
[考研] 一志愿华南师范大学0702物理学305调剂 +4 念常安 2026-04-07 6/300 2026-04-08 22:53 by bljnqdcc
[考研] 一志愿郑州大学085600求调剂 +21 吃的不少 2026-04-05 24/1200 2026-04-08 16:47 by sunhuadong
[考研] 一志愿哈工大,初试329,求环境科学与工程调剂! +11 余未辛 2026-04-06 11/550 2026-04-08 15:21 by screening
[考研] 电子信息346 +4 zuoshaodian 2026-04-08 4/200 2026-04-08 11:54 by zzucheup
[考研] 304求调剂 +10 素年祭语 2026-04-06 17/850 2026-04-08 09:05 by 蓝云思雨
[考研] 318求调剂 +5 李青山山山 2026-04-07 5/250 2026-04-07 18:24 by 蓝云思雨
[考研] 325 调剂 +6 QQ小虾 2026-04-07 6/300 2026-04-07 15:17 by Ccclqqq
[考研] 一志愿河北工业大学材料工程,初试344求专硕调剂 +6 15933906766 2026-04-05 6/300 2026-04-06 13:21 by 无际的草原
[考研] 0857大类环境工程B区求调剂 +3 龚禹铭 2026-04-05 3/150 2026-04-06 10:22 by 蓝云思雨
[考研] 341求调剂 +3 学无止境,冲 2026-04-05 3/150 2026-04-05 09:40 by lbsjt
[考研] 一志愿沪9,求生物学调剂,326分 +6 刘墨墨 2026-04-04 6/300 2026-04-04 19:44 by 唐沐儿
信息提示
请填处理意见