Численное решение уравнений

Материал из testwiki
Перейти к навигации Перейти к поиску

Численное решение уравнений и их систем состоит в приближённом определении корней уравнения или системы уравнений и применяется в случаях, когда точный метод решения неизвестен или трудоёмок.

Постановка задачи

Рассмотрим методы численного решения уравнений и систем уравнений:

f(x1,x2,,xn)=0

или

{f1(x1,x2,,xn)=0fn(x1,x2,,xn)=0

Численное решение задачи можно проводить как непосредственно (используя одноимённые методы), так и с применением оптимизационных методов, приведя задачу к соответствующему виду. Последним посвящена статья Градиентные методы.

Численные методы решения уравнений

Покажем, как можно решить изначальную систему уравнений, не прибегая к оптимизационным методам. В случае, если наша система представляет собой СЛАУ, целесообразно прибегнуть к таким методам, как метод Гаусса или метод Ричардсона. Однако мы всё же будем исходить из предположения, что вид функции нам неизвестен, и воспользуемся одним из итерационных методов численного решения. Среди большого разнообразия таковых выберем один из наиболее известных — метод Ньютона. Этот метод в свою очередь основывается на принципе сжимающего отображения. Поэтому сначала будет изложена суть последнего.

Определим терминологию:

Говорят, что функция φ осуществляет сжимающее отображение на [a,b], если

Тогда справедлива следующая основная теорема:

Шаблон:Message box

Из последнего пункта теоремы вытекает, что скорость сходимости любого метода на основе сжимающих отображений не менее линейной.

Поясним смысл параметра α для случая одной переменной. Согласно теореме Лагранжа имеем:

φ(x)C1[a,b].x1,x2(a,b),x1<x2ξ(x1,x2):φ(ξ)(x2x1)=φ(x2)φ(x1)

Отсюда следует, что α|φ(ξ)|. Таким образом, для сходимости метода достаточно, чтобы x[a,b]|φ(x)|1.

Общий алгоритм последовательных приближений

  1. Уравнение f(x)=0 преобразуется к уравнению с тем же корнем вида x=φ(x), где φ(x) — сжимающее отображение.
  2. Задаётся начальное приближение и точность x0,ε,i=0
  3. Вычисляется очередная итерация xi+1=φ(xi)
    • Если ||xi+1xi||>ε, то i=i+1 и возврат к шагу 3.
    • Иначе x=xi+1 и остановка.

Применительно к общему случаю операторных уравнений этот метод называется методом последовательных приближений, или методом простой итерации. Однако уравнение f(x)=0 можно преобразовывать к сжимающему отображению x=φ(x), имеющему тот же корень, разными способами. Это порождает ряд частных методов, имеющих как линейную, так и более высокие скорости сходимости.

Применительно к СЛАУ

Рассмотрим систему:

{a11x1++a1nxn=b1an1x1++annxn=bn

Для неё итерационное вычисление будет выглядеть так:

(x1x2xn)i+1=(a11+1a12a1na21a22+1a2nan1an2ann+1)(x1x2xn)i(b1b2bn)

Метод будет сходится с линейной скоростью, если a11+1a1nan1ann+1<1

Двойные вертикальные черты означают некоторую норму матрицы.

Решение уравнения cos(x)=x по методу простой итерации, очередная итерация: xn+1=cos xn, начальное приближение: x1 = −1
Решение уравнения f(x)=0 по методу Ньютона, начальное приближение: x1=a.

Метод Ньютона (метод касательных)

Шаблон:Main

Одномерный случай

Оптимизация преобразования исходного уравнения f(x)=0 в сжимающее отображение x=φ(x) позволяет получить метод с квадратичной скоростью сходимости.

Чтобы отображение было наиболее эффективно, необходимо, чтобы в точке очередной итерации x* выполнялось φ(x*)=0. Будем искать решение данного уравнения в виде φ(x)=x+α(x)f(x), тогда:

φ(x*)=1+α(x*)f(x*)+α(x*)f(x*)=0

Воспользуемся тем, что f(x)=0, и получим окончательную формулу для α(x):

α(x)=1f(x)

С учётом этого сжимающая функция примет вид:

φ(x)=xf(x)f(x)

Тогда алгоритм нахождения численного решения уравнения f(x)=0 сводится к итерационной процедуре вычисления:

xi+1=xif(xi)f(xi)

Многомерный случай

Обобщим полученный результат на многомерный случай.

Выбирая некоторое начальное приближение x[0], находят последовательные приближения x[j+1] путём решения систем уравнений:

fi+k=1nfixk(xk[j+1]xk[j])=0,i=1,2,,n,

где x[j]=(x1[j]xk[j]xn[j]),j=0,1,2,.

См. также

Шаблон:Кол

Шаблон:Кол

Литература

  1. Шаблон:Книга
  2. Шаблон:Книга
  3. Шаблон:Книга
  4. Шаблон:Книга
  5. Шаблон:Книга

Ссылки