在方程中求值

时间:2019-07-07 02:16:39

标签: python numpy matplotlib

我正在寻找一种简单的方法来根据另一个变量的结果查找变量的值:

import numpy as np
import matplotlib.pyplot as plt

T = np.arange(0.01, 4.5, 0.0001)
N = (2.63 * 10 ** -16) * ((2.71828 ** (6.93 * T)) - 1) + ((4.05 * 10 ** -6) * T)

plt.plot(N,T)
plt.axis(xmin=-0.001, ymax=5)
plt.show()

例如,对于N = 0,00006762(或最接近的值),我需要T的值。如果我可以求解T,这将很容易,但是我发现创建可能的T的数组并尝试另一种方法更容易。

1 个答案:

答案 0 :(得分:-1)

您可以遍历T的值,计算N,然后将其与所需的数字(0.00006762)比较,然后返回找到的最接近的数字:

target = 0.00006762
smallest_diff = 1000
best_answer = 'NA'

for T in np.arange(0.01, 4.5, 0.0001):
  N = (2.63 * 10 ** -16) * ((2.71828 ** (6.93 * T)) - 1) + ((4.05 * 10 ** -6) * T)
  if abs(N - target) < smallest_dif:
    smallest_diff = abs(N - target)
    best_answer = T

print(best_answer)