Нахождение значения в уравнении - PullRequest
1 голос
/ 07 июля 2019

Я ищу простой способ найти значение переменной в зависимости от результата другой:

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()

Например, мне нужно значение T для N = 0,00006762 (или ближайшего значения). Это было бы легко, если бы я мог решить для T, но мне проще создать массив возможных T и попробовать другой способ.

1 Ответ

0 голосов
/ 07 июля 2019

Вы можете зациклить значения 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...