Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-06-02
年龄: 38
帖子: 2
声望力: 0 ![]() |
![]()
俺是一个绝对的菜鸟,最近写了一个计算bayes 释然比的函数,如下,可是当数据大到一定程度就报错:
function [z] = bayes(n,k,m,l) syms r1 r2; a = int (nchoosek(n,k)*r1^k*(1-r1)^(n-k), 0,1); b = int (nchoosek(m,l)*r2^l*(1-r2)^(m-l), 0,1); y = int(int (1/a*1/b*nchoosek(n,k)*r1^k*(1-r1)^(n-k)*nchoosek(m,l)*r2^l*(1-r2)^(m-l),r2,0,r1),r1,0,1); z = double (log10(y/(1-y))); 运行:bayes(1823,2,200,4) 显示如下错误: >> bayes(1823,3,200,4) ??? Error using ==> sym.maple Error, (in series/power) integer too large in context Error in ==> sym.int at 51 r = reshape(maple('map','int',f( ![]() Error in ==> bayes at 5 y = int(int (1/a*1/b*nchoosek(n,k)*r1^k*(1-r1)^(n-k)*nchoosek(m,l)*r2^l*(1-r2)^(m-l),r2,0,r1),r1,0,1); 请问如果运算这种大数的时候怎么改正 |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
没问题的
>> bayes(1823,2,200,4) ans = -3.7866 不知道答案对否,不过运行时间有点长的!!! |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-06-02
年龄: 38
帖子: 2
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
试过好几个版本的,因为自己的系统是vista,觉得7.0的不错,后来又装新版本的,08a的还可以,目前在用,08b和09a的自己运行一个在7.0上能运行的程序而它们却运行不了,所以还是觉得08a好用,仅供参考!!!!
|
![]() |
![]() |