使用Python从MATLAB调用SciPy

fxnxkyjh  于 2023-03-30  发布在  Python
关注(0)|答案(1)|浏览(230)

我想在没有统计工具箱的情况下使用MATLAB计算inverse CDF of Student T distribution,但在Python和SciPy的帮助下,也可以参见https://stackoverflow.com/a/20627638/7556646
以下代码使用Python 3.9.13从MATLAB R2023a运行

py.scipy.stats.t().ppf(0.975, df=4)

将显示以下错误:

Error using _distn_infrastructure>__init__
Python Error: TypeError: _parse_args() missing 1 required positional argument: 'df'

Error in _distn_infrastructure>freeze (line 824)

Error in _distn_infrastructure>__call__ (line 829)

提供了参数df但无法识别。我不明白为什么?请参见https://ch.mathworks.com/help/matlab/matlab_external/python-function-arguments.html
对于正态分布,我可以使用MATLAB中的SciPy:

py.scipy.stats.norm().ppf(0.975)

返回1.9600
在Python中,我们可以这样做:

>>> scipy.stats.t.ppf(0.975, df=4)
2.7764451051977987
cetgtptt

cetgtptt1#

下面的代码将起作用:

>> py.scipy.stats.t(df=4).ppf(0.975)

ans =

    2.7764

相关问题