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