全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
6473 6
2012-04-13
我有一个数学表达式,两部分相乘得到的,例如A*B,
其中A为从n个取r个的组合数,是一个很大的数,然而B是一个很小的数,任何A和B两部分分开计算Matlab都显示成了NaN,而实际上两者相乘时其值并不大,只有-1~1左右,请问各位Matlab高手这个问题怎么解决,请不吝赐教

二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-13 09:47:29
有点恐怖!!
二维码

扫码加我 拉你入群

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

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

2012-4-13 15:43:02
应该不会,如果结果太大,matlab会显示内存不足,不会只显示nan.
二维码

扫码加我 拉你入群

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

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

2012-4-13 16:07:24
不知道大家有没碰到过类似的问题,比如5000里取200的组合数,直接用Matlab函数是算不最后结果的。
二维码

扫码加我 拉你入群

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

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

2015-11-24 15:43:06
modision 发表于 2012-4-13 16:07
不知道大家有没碰到过类似的问题,比如5000里取200的组合数,直接用Matlab函数是算不最后结果的。
我遇到了,请问你解决了吗?
二维码

扫码加我 拉你入群

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

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

2015-11-25 23:42:11
这是因为Matlab默认是“双精度浮点数”,可以百度这种数的精度。
对于太大或太小的数,都会超出精度限制。
一个办法是用 sym 即 符号工具箱 计算,得到的会是精确值,当然算的时间就不好说了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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