Ответ 1
Вы можете приблизить решение, выполнив то, что называет excel "Goal Seek" - тестирование значений для x
, пока обе стороны уравнения не совпадут. Вы можете сделать это, разделив уравнение на знак "="
, заменив каждое появление x
на значение eval
с обеих сторон и определив, падает ли разница ниже определенного порога. Хотя относительно просто, есть недостатки в этом методе (кроме того, что это приближение), например, алгоритм может думать, что обе стороны сходятся, когда на самом деле это всего лишь локальный min/max и будет расходиться после разница падает ниже вашего порога. Вам также потребуется проверить несколько стартовых точек для решения уравнений с несколькими решениями.
Для того, чтобы программа действительно решала уравнение как человека, (путем перегруппировки двух сторон уравнения и применения обратных функций, производных/интегралов и еще чего-то) намного сложнее и как-то чувствует себя полностью собственными;)