[英]How do I solve for x with a known function in equation using numpy/scipy?
[英]How do i solve this equation for m using SciPy root function and how do i write it
```
import numpy as np
K = 1.38e-23
z = 8
J = 1.8e-21
T = 1
m = 0
```
這些只是常數
m = np.tanh((z*J*m)/(K*T))
這是等式,但我需要為每個 T 值找到每個 m 值,所以我不確定在循環 T 和 m 時嵌套循環是否會更好,因為我已經嘗試過並且無法正常工作我'我只是不確定該怎么做,所以任何幫助都會很棒。 T 也在 1 - 1501 范圍內
我仍然不確定你真正需要什么。
如果您進行一些優化以找到一些min
或max
,您應該再次查看是否您向我們提供的信息比需要的少(例如,您說m=0
但對於任何T
給出的答案都是 0 。您可能想要范圍m
和T
. 然后是另一個故事。
如果沒有 scipy,如果您願意只計算 function 兩個參數m
和T
的結果,您可以使用linspace
例如設置范圍和步長。
import numpy as np
import matplotlib.pyplot as plt
def func(T, m):
z = 8
K = 1.38e-23
J = 1.8e-21
return np.tanh((z*J*m)/(K*T))
xaxis = np.linspace(1, 1501, 1500)
yaxis = np.linspace(0, 10, 10)
result = func(xaxis[:,None], yaxis[None,:])
plt.plot(result)
你會得到如下的結果,幾條曲線。 但是我將 m 設置在范圍內,您可能需要其他值。 由你決定。 檢查和 go。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.