Python与Matlab中gammainc函数计算结果差异问题求助
Python与Matlab中gammainc函数计算结果差异问题求助
各位大佬,我最近在把Matlab代码迁移到Python的过程中,遇到了gammainc函数计算结果不匹配的问题,折腾了好一阵没解决,想请教下大家!
我先说说具体的情况:
首先是Python这边的代码和输出:
from scipy.special import gammainc result_py = gammainc([1, 2, 3, 4], 5) print(result_py) # 输出:array([0.99326205, 0.95957232, 0.87534798, 0.73497408])
而Matlab那边我用了'lower'参数,代码和输出是这样的:
result_matlab = gammainc([1,2,3,4],5,'lower') % 输出:[0.00365984682734371, 0.0526530173437111, 0.184736755476228, 0.371163064820127]
我一开始猜测是不是互补函数的问题,就尝试用了scipy.special.gammaincc:
from scipy.special import gammaincc result_py_cc = gammaincc([1, 2, 3, 4], 5) print(result_py_cc) # 输出:array([0.00673795, 0.04042768, 0.12465202, 0.26502592])
结果确实比之前的gammainc更接近Matlab的输出,但还是对不上。有没有大佬知道怎么调整Python的代码,才能让计算结果和Matlab的完全一致呀?
备注:内容来源于stack exchange,提问作者jim_athon
相关产品推荐
相关产品推荐

