python中fsolve的函数参数错误

2024-09-29 06:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试制作一个带有计算的函数,该函数使用下面的fsolve描述的函数

我需要的是能够将此计算作为一个公式运行,并有可能为r1和r2注入我自己的值

这个函数需要(p)才能正常工作,但p是未知的。这是可以的,我不需要为运行计算而定义它,但是当我在函数中写入(p,r1,r2)以便能够定义r1和r2时,问题就开始了。 然后我得到一个错误,说p没有定义

有人看到我的方法有什么错误吗

多谢各位

代码段:

def formel(p):
 global x
 global r5
 global rp
 r1 = diff1*c #Beregne radie t1;
 r2 = diff2*c #Beregne radie t2; 
 rp, theta = p
 f1 = (rp + r1)**2 -(rp+r2)**2 -d**2 +2*(rp+r2)*d*(cosd(theta))
 f2 = rp**2  - (rp+r2)**2  - delta**2 + 2*(rp+r2)*delta*(cosd(theta-phi))
 return (f1,f2)
x, y =  fsolve(formel, (1000.0, 20.0), xtol=1e-06, maxfev=10000000)

print (x)

Tags: 函数定义错误globalrpf2f1r2