Решение системы нелинейных уравнений

Этот онлайн калькулятор пытается найти решение системы нелинейных уравнений методом покоординатного поиска.

Уравнения задаются при помощи формул, в которых могут участвовать математические операции, константы и математические функции, по одной формуле на строку. Синтаксис формул описан под калькулятором. Там же можно найти описания метода решения.

PLANETCALC, Решение системы нелинейных уравнений

Решение системы нелинейных уравнений

Знаков после запятой: 5
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Синтаксис формул

В формуле допускается использование нескольких переменных (обозначаются как x1, x2, и т.д.), числа пи ( pi), следующих математических операторов:
+ — сложение
- — вычитание
* — умножение
/ — деление
^ — возведение в степень

и следующих функций:

  • sqrt — квадратный корень
  • rootp — корень степени p, например root3(x) - кубический корень
  • exp — e в указанной степени
  • lb — логарифм по основанию 2
  • lg — логарифм по основанию 10
  • ln — натуральный логарифм (по основанию e)
  • logp — логарифм по основанию p, например log7(x) — логарифм по основанию 7
  • sin — синус
  • cos — косинус
  • tg — тангенс
  • ctg — котангенс
  • sec — секанс
  • cosec — косеканс
  • arcsin — арксинус
  • arccos — арккосинус
  • arctg — арктангенс
  • arcctg — арккотангенс
  • arcsec — арксеканс
  • arccosec — арккосеканс
  • versin — версинус
  • vercos — коверсинус
  • haversin — гаверсинус
  • exsec — экссеканс
  • excsc — экскосеканс
  • sh — гиперболический синус
  • ch — гиперболический косинус
  • th — гиперболический тангенс
  • cth — гиперболический котангенс
  • sech — гиперболический секанс
  • csch — гиперболический косеканс
  • abs — абсолютное значение (модуль)
  • sgn — сигнум (знак)

Решение систем нелинейных уравнений

Калькулятор выше использует численный метод для поиска решения системы нелинейных уравнений. Приведем несколько определений, чтобы было понятнее.

Нелинейным называется уравнение вида \varphi \left(x\right)=0, где \varphi \left(x\right) — некоторая нелинейная функция. Нелинейная функция - это всё, отличное от вида y = kx + b.
Нелинейные уравнения бывают алгебраические и трансцендентные. Общий вид алгебраических уравнений - a_0 + a_1x + a_2x^2 + \dots + a_nx^n = 0. Трансцендентные уравнения используют функции типа экспоненты, синуса, логарифма и т.п.

Методы решения таких уравнений делятся на точные, когда вы можете найти аналитическое решение, т.е. когда вы можете записать решение в виде формулы (например, формулы нахождения корней квадратного уравнения) и итерационные (или численные). Известно1, что для алгебраических уравнений со степенью выше 4 не существует аналитического решения. В общем случае для трансцендентных уравнений тоже не существует аналитического решения, таким образом для большинства случаев решение можно найти только численными методами. Для численных методов заранее задается точность, и корни уравнения ищутся с заданной точностью.

Система нелинейных уравнений - система вида
\varphi_1 \left(x_1, x_2, ..., x_n\right)=0\\\varphi_2 \left(x_1, x_2, ..., x_n\right)=0\\...\\\varphi_n \left(x_1, x_2, ..., x_n\right)=0
Решением такой системы является вектор X размерности n.

Численными методами решения систем нелинейных уравнений являются, например, метод простых итераций (или метод Якоби) и метод Ньютона. Метод простых итераций требует преобразования исходных уравнений и вычисления нормы матрицы Якоби, метод Ньютона (тоже итерационный) - вычисления обратной матрицы Якоби. Таким образом, на каждом шаге итераций приходится выполнять довольно много вычислений. Однако существует еще одно семейство методов решения систем нелинейных уравнений, так называемые методы оптимизации, один из которых, метод покоординатного поиска, и используется в калькуляторе выше.

Идея методов оптимизации заключается в замене начальной задачи поиска корней на задачу оптимизации. Из исходной системы нелинейных уравнений создается функционал F:
F(x_1, x_2, ..., x_n)=\varphi_1^2 \left(x_1, x_2, ..., x_n\right)+\varphi_2^2 \left(x_1, x_2, ..., x_n\right)+\varphi_n^2 \left(x_1, x_2, ..., x_n\right)
и решается задача минимизации
F(x_1, x_2, ..., x_n)=min \equiv 0

Можно заметить, что в отличие от решения системы уравнений, решение задачи минимизации будет найдено в любом случае, пусть даже не равное нулю ("застревание" в локальном минимуме). Методов оптимизации существует довольно много, здесь используется наверное один из самых простых методов - метод покоординатного поиска.

Алгоритм метода:

  1. Задаётся начальная точность ε
  2. Выбирается начальное приближение X₀, например, нулевой вектор. Если корней несколько, выбор начального приближения фактически определяет то, какой корень будет найден.
  3. По одной из координат ищется новый локальный минимум
  4. Формируется новый вектор Xᵢ
    X_i = (x_{1_i}, x_{2_i}, ..., x_{n_i})
  5. Проверяется условие завершения, если
    \left|F(X_i) - F(X_{i-1})\right| < \epsilon
    то решение с требуемой точностью найдено, в противном случае выбирается другая координата и снова ищется локальный минимум (переход на шаг 3)

  1. Теорема Абеля о неразрешимости уравнений в радикалах 

Ссылка скопирована в буфер обмена
PLANETCALC, Решение системы нелинейных уравнений

Комментарии