簡體   English   中英

如何使用broyden1算法計算指數值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM