全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1853 10
2021-09-09
我想计算log(10^360),可是结果是Inf, 但是我直接计算360*log(10)结果就是828.9306,根本就不是无穷大呀, 这种怎么解决呀. 这是我写的函数里面会涉及到的一个计算, 所以直接手动改成360*log(10)不太现实.
二维码

扫码加我 拉你入群

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

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

全部回复
2021-9-9 11:29:16
计算log(10^360)和计算360*log(10)是同样的么
二维码

扫码加我 拉你入群

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

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

2021-9-9 20:49:32
jianxinz 发表于 2021-9-9 11:29
计算log(10^360)和计算360*log(10)是同样的么
难道不是吗
二维码

扫码加我 拉你入群

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

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

2021-9-9 21:10:27
konggouqian 发表于 2021-9-9 10:48
我想计算log(10^360),可是结果是Inf, 但是我直接计算360*log(10)结果就是828.9306,根本就不是无穷大呀, 这 ...
我试的也是这样,是因为计算的顺序的问题吗?
二维码

扫码加我 拉你入群

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

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

2021-9-9 21:41:35
这个不是log函数的问题,而是因为R计算的最大数是1e+308,即10的308次方,超出的数都作为INF.
所以解决办法只能是修改你的函数。
二维码

扫码加我 拉你入群

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

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

2021-9-9 22:39:44
在不引入额外的包的情况下,R默认能存储的数值是双浮点精度的最大数值
2^1023 × (1 + (1 − 2^(−52))) ≈ 1.7976931348623157 × 10^308
所以10^360显然大于这个数了,实际上你试到10^309就已经会给你返回Inf了。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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