[英]how to use broyden1 algorithm to calculate an exponential value
我必須在方程式中找到溫度:
u = 1.2*e^(-.025*T)
u = viscosity in N*s/m^2
T = degree C
運用
scipy.optimize.broyden1()
當u = .001時,您將如何用它來找到T?
要使用broyden1函數,只需為其提供您希望找到根的函數以及一個初始值即可。 如果只對求解u = .001感興趣,則可以定義一個以T作為輸入的函數。 如果您想更改u的值,partial可能是一個方便的工具。
import scipy.optimize
import numpy as np
from functools import partial
def findtemp(T, u):
return u - 1.2 * np.exp(-.025*T)
sol = scipy.optimize.broyden1(partial(findtemp, u=.001), 0)
print(sol)
給我一個283.4828690696808的值,它接近理論值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.