Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python求方程的零点_Python_Scipy - Fatal编程技术网

用python求方程的零点

用python求方程的零点,python,scipy,Python,Scipy,我试着写一段代码,在这个等式中找到n 其余部分作为用户定义的变量 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) 我还希望能够设置不同的参数场

我试着写一段代码,在这个等式中找到n

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

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])。如果有人能给我指出正确的方向,我不太确定最好的方法是什么。

从你的方程看,你试图找到满足统计检验方程的观察数(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等的不同值