我一直在尝试通过下面的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)