使用python查找等式的零

时间:2016-03-19 18:37:08

标签: python scipy

我正在尝试编写将在此等式中找到n的代码。

function

将其余部分作为用户定义的变量。

from scipy.optimize import fsolve
from scipy.stats import t

def f(alpha, beta, sigma, delta, eps):
    n = ((t.ppf(1-alpha,2*n-2) + t.ppf((1-beta)/2,2*n-2))**2*sigma**2)/(2*      (delta-abs(eps))**2)

我还希望能够设置不同的参数场景,然后让它输出参数和结果的表格(例如,输入alpha1,alpha2,beta1,beta2等,然后输出[alpha1, beta1,...,n],[alpha1,beta2,...,n])。我不太确定如果有人能指出我正确的方向,最好的办法是什么呢。

1 个答案:

答案 0 :(得分:0)

根据等式的外观,您试图找到满足统计检验方程的观测数(n)。如果是这种情况,则n是自然数(0,1,2 ......等),并且易于迭代。

你可以自己设置一个求解器,你可以将n作为可迭代,将结果作为"结果"等式:

for n in range(0, 1000):
    result = your_function(n, other_parameters)

然后您只需通过设置:

来检查是否满足等式
    if n >= result:
        print "result:", n
        break  # This will exit the loop

测试不同用户给定参数的方法是,您可以设置另一个循环,迭代alpha,beta等不同的值。