| 查看: 1894 | 回复: 10 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
mathematica数据精度截断 已有1人参与
|
|||
|
我想将计算得到的结果精度控制后输出到文件中,可以遇到了问题。 例如,将计算结果0.123456789截断为0.12输出到文件data.txt中, 代码: N[0.123456789,2]>>>data.txt, 得到的结果是0.123456789‘2 想得到的结果0.12 怎么办? 求教。 |
» 猜你喜欢
遇见不省心的家人很难过
已经有18人回复
退学或坚持读
已经有25人回复
博士延得我,科研能力直往上蹿
已经有4人回复
免疫学博士有名额,速联系
已经有14人回复
面上基金申报没有其他的参与者成吗
已经有4人回复
多组分精馏求助
已经有6人回复
11楼2015-01-09 08:08:35
feixiaolin
荣誉版主 (文坛精英)
-

专家经验: +518 - 应助: 942 (博后)
- 贵宾: 1.275
- 金币: 3430
- 散金: 58785
- 红花: 532
- 沙发: 11
- 帖子: 24215
- 在线: 2601.8小时
- 虫号: 2139575
- 注册: 2012-11-21
- 专业: 光学信息获取与处理
- 管辖: 数学
2楼2015-01-05 22:09:47
delaunay
金虫 (初入文坛)
- 应助: 5 (幼儿园)
- 金币: 1169.7
- 红花: 3
- 帖子: 39
- 在线: 137.2小时
- 虫号: 1739960
- 注册: 2012-04-06
- 性别: GG
- 专业: 计算数学与科学工程计算
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
queji(feixiaolin代发): 金币+5 2015-01-06 07:34:28
feixiaolin: 金币+20, http://emuch.net/bbs/viewthread.php?tid=8740247&fpage=1 2015-04-01 22:50:42
感谢参与,应助指数 +1
queji(feixiaolin代发): 金币+5 2015-01-06 07:34:28
feixiaolin: 金币+20, http://emuch.net/bbs/viewthread.php?tid=8740247&fpage=1 2015-04-01 22:50:42
|
先设置精度,然后最好保存到数据文件中,比如csv格式。 b = Table[i/j, {i, 5}, {j, 5}] // N; bb = SetPrecision[b, 2]; Export["bb.csv", bb] |

3楼2015-01-06 02:38:41
|
插一句,楼主你一定没有测试自己举的例子。你这个输到data.txt里也不会是0.123456789`2,而会是0.123456789。 造成这一现象的理由,是因为数字0.123456789还没有超出机械精度(MachinePrecision)的表示范围,所以,在你没有明确指定的情况下,Mathematica即认为0.123456789是一个机械精度数,而机械精度按照Mathematica的规定其精度最低(这一规定和浮点数本身的“稀疏”特性有关),也就是说0.123456789的精度在Mathematica眼里连2都不到,而N[]只能让精度由高向低降,所以这里的N没有起作用。SetPrecision就是另一回事了,这个函数会强制指定精度。 |

4楼2015-01-06 16:24:44













回复此楼