Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Тема 7. Решение систем нелинейных алгебраических уравнений
Определения Система нелинейных уравнений представляется в следующем виде: ( 7.1) где fi (i=1, 2, …, n ) - функции вещественных переменных x1, x2, …, xn. Обозначим упорядоченную совокупность n чисел x = ( x1, x2, …, xn)TÎ H и F(x) = (f(x1), f( x2), …, f(xn))T. Тогда система уравнений(7.1) в некотором линейном пространстве H размерности n запишется в операторном виде: F(x)=0, где F: H® H нелинейное отображение. Такие системы решают итерационными методами. Многие одношаговые итерационные методы для решения системы F(x)=0 можно записать в канонической форме: . (7.2) где k - номер итерации xk = ( xk1, xk2, …, xkn)T, tk+1 - числовой параметр, - матрица n x n, имеющая обратную матрицу. Метод (7.2) называется явным, если Bk+1 =E для всех k, и неявным в противном случае. Метод простой итерации Рассмотрим метод простой итерации на примере системы из двух уравнений:
Преобразуем эту систему к виду:
Построим итерационный процесс (7.3) Итерационный метод (7.3) сходится, если a) в области R={a≤ x ≤ b, c≤ y ≤ d} существует единственное решение; б) в области R выполнены условия или Начальное приближение (x0, y0) должно принадлежать области R. Метод релаксации Если Bk+1 =E, tk+1=t, это стационарный итерационный метод, который можно записать в виде: xk=S(xk), где S(x)=x-t F(x). Метод сходится, если . В данном случае , а F΄ (x) - матрица Якоби. Метод Ньютона Пусть известно приближение на k -м шаге xk= . Выпишем разложение функции fi(x1, x2, …, xn) по формуле Тейлора в точке xk до второго порядка: Тогда система (7.1) заменится системой уравнений: i=1, 2, …, n, ( 7.4) линейной относительно приращений xj-xjk, j=1, 2, …n. Решение x=(x1, x2, …, xn)T системы (7.3) примем за следующее итерационное приближение и обозначим xk+1 = . Таким образом, итерационный метод Ньютона для системы (7.1) определяется системой уравнений: i=1, 2, …, n, (7.5) из которой последовательно, начиная с заданного x0=( x10, x20, …, xn0)T, находятся векторы xk, k=1, 2, ….. Систему (7.4) можно записать в векторном виде: k=1, 2, …, где x0 - заданный вектор, F΄ (x) - матрица Якоби. (7.6) Если обозначить zk=xk+ 1- xk и если (F΄ (xk))-1 существует, то, решив систему линейных алгебраических уравнений: F΄ (xk) zk = - F(xk), (k+1) -е приближение найдем из формулы xk+1=zk + xk. Условие остановки итерационного процесса можно взять в виде или . Задания 1. Найти решение системы - методом Ньютона - методом простой итерации с заданной точностью ε . Начальное приближение (x0, y0) найти графически. Варианты
Тема 8. Решение обыкновенных дифференциальных уравнений Рассмотрим задачу Коши для обыкновенного дифференциального уравнения первого порядка: =f(x, y), y(a)=y0; xÎ [a, b]. (8.1) Метод численного интегрирования Интегрируя (8.1), заменим эту задачу эквивалентным ей интегральным уравнением типа Вольтера: y(x)= y0 + f(t, y(t)) dt. (8.2) Решим уравнение (8.2) методом последовательных приближений. В результате получим итерационный процесс y(k)(x) = y0 + f(t, y(k-1)(t)) dt, (8.3) Зададим сетку xi=a+ih; i=0, …, m, где h= - шаг сетки. Из уравнения (8.3) имеем y(k)(xi) = yi(k) = y0 + f(t, y(k-1)(t)) dt, (8.4) где y(0)(t)=y0. Интеграл в правой части (8.4) вычисляется с помощью численной квадратуры yi(k) –y0 = h Aj(i) f(xj, yj(k-1)). (8.5) Коэффициенты Aj(i) системы (8.5) находятся из решения системы линейных алгебраических уравнений: = Aj(i) jk-1; k=1, …n+1; i=1, …n. (8.6) Система (8.6) получена из условия, что формула (8.5) точна для всех функций вида x, x2, x3, …, xn+1 в точках xi = ih, i=0, …, n. Пусть n=2, дано три точки (x0, x1, x2). Тогда матрица коэффициентов Aj(i) равна A= . Для m=4, пять точек (x0, x1, x2, x3, x4). A= . Численная реализация может быть выполнена следующим образом. Шаг 1. Исходный интервал делим на 4 части, т. е. задаем m = 4. Определяем сетку xi=a+ih0, i=0, 1, …, 4, где h0 = (a+b)/4 - шаг исходной сетки. Вычисляем по формулам (8.5) yi(n), i=1, …, 4, пока не выполнится условие max < e, по всем i, где e - заданная точность. Шаг 2.Делим интервал на 8 частей, т. е. уменьшаем шаг вдвое и находим yi на сетках: =a+ih1, i=1, …, 4; h1=h0/2; =(b+a)/2+ih1, i=1, …, 4. Затем проверяем условие max < e в узлах первой сетки (с шагом h0). Если оно выполняется, то вычисления заканчиваем. Если не выполняется, то исходный интервал уменьшаем вдвое, т. е. a1=a; b1=(a+b)/2, и переходим на шаг 1, где a=a1; b=b1. Метод Эйлера Для решения задачи Коши (8.1) составляют таблицу значений yk=y(xk), где xk=x0+kh ( k=0, 1, …, n), h=(b-a)/n, y(x0)=y0, x0=a, [a, b] – отрезок, на котором ищется решение. Значение yk+1 определяется по формуле yk+1=yk + h f(xk, yk), k=0, 1, …, n -1, y(x0)=y0 . (8.7) Погрешность вычислений на каждом шаге составляет Rk=0.5h2 (e), где xk£ e £ xk+1. Модифицированный метод Эйлера с уточнением состоит в следующем: сначала вычисляют y(0)k+1 = yk + h f(xk, yk), k=0, 1, …n -1, а затем это значение уточняют по формуле y(i)k+1=yk+ [f(xk, yk)+f(xk+1, y(i-1)k+1)], где i=0, 1, 2, … - номер итерации. (8.8) Итерации продолжаются до тех пор, пока в пределах требуемой точности два последовательных приближений не совпадут. Методы Рунге-Кутта Для решения задачи Коши (8.1) семейство методов Рунге-Кутта описывается следующим выражением: y(x+h)=y(x)+ , (8.9) где h – шаг сетки; число q называется порядком точности метода (8.9). k1=h f(x, y), k2=h f(x+a2 h, y+b21k1), … ki=h f(x+aI h, y+bi1k1+bi2k2+…+bii-1ki-1); i=1, …, q. Здесь pi, ai, bik – коэффициенты. При q = 1 имеем метод первого порядка точности: yi+1=yi+k1, k1=h f(xi, yi), y0=y(x0). Метод второго порядка точности (при q = 2) имеет вид: yi+1=yi + (k1+ k2), k1=h f(xi, yi), k2=h f(xi+h, yi+k1), y0=y(x0). Наиболее распространен на практике метод четвертого порядка точности (при q=4): yi+1=yi+ (k1+2(k2+k3)+k4), где k1=h f(xi, yi), k2= h f(xi+h/2, yi+ k1 /2), k3= h f(xi+h/2, yi+ k2 /2), k4= h f(xi+ h, yi+ k3) . Для нахождения решения с заданной точностью e, численная реализация методов Рунге-Кутта выполняется следующим образом: задается сетка xi=a+ih0, i =1, …, n; h0=(b-a)/n, далее на каждом I -м шаге в точке x=xi вычисляют два значения yi(1) и yi(2): yi(1)=yi-1+ pj(h0)kj(h0, xi-1, yi-1), =yi-1+ pj(h1)kj(h1, xi-1, yi-1), yi(2)= + pj(h1)kj(h1, xi-1, ), где h1=h0 /2. Если выполнено условие | yi(1)- yi(2)| < e, где e - заданная точность, то следующее yi+1 вычисляется c тем же шагом h0. В противном случае полагают h0=h1, h1=h0 /2. Метод Адамса В вышеизложенных методах для задачи Коши значение yi+1 зависело только от информации в предыдущей точке xi (одношаговые методы). В многошаговых методах используют информацию в нескольких предыдущих точках xi, xi-1, xi-2, ….. На практике обычно используют явную и неявную формулы, что приводит к методу прогноза и коррекции. Одним из широко используемых методов прогноза и коррекции является объединение методов Адамса четвертого порядка. yi+1(р)=yi+ (55 fi - 59 fi-1 + 37 fi-2 - 9 fi-3), fi+1(p)=f(xi+1, yi+1(p) ), yi+1=yi+ (9 fi+1(p)+19 fi - 5 fi-1 + fi-2), i=3, …n. Вычисленное значение yi+1(р), являющееся «прогнозом» для yi+1, затем yi+1(р) используют для вычисления приближенного значения fi+1, которое, в свою очередь, используют в формуле для вычисления yi+1. В начале работы необходимо вычислить значения в точках yi (i=1, 2, 3) с помощью одношагового метода того же порядка точности.
Метод Милна Пусть для решения уравнения =f(x, y), кроме начального условия y(x0)=y0, найдены значения искомой функции y(xi)=yi в точках xi=x0+ih (i=1, 2, 3). Последующие значения yi при i=4, 5, … определим, используя формулы метода Милна: yiпред=yi-4+ (2 fi-3 - fi-2 + 2 fi-1) (прогноз), yiкор=yi-2+ (fi-2 – 4 fi-1+fiпред), где fiпред=f(xi, yiпред ) (коррекция). Абсолютная погрешность ei значения yiкор приближенно определяется по формуле ei@ | yiкор- yiпред|. Если точность результата достаточна, то полагают yi @ yiкор. Задания 1. Решить задачу Коши для дифференциального уравнения первого порядка: - методом численного интегрирования, - методом Эйлера (модифицированным), - методом Рунге-Кутта второго и четвертого порядка точности, - методом Адамса, - методом Милна. 2. Сравнить полученные результаты с точным решением. Варианты 1. =ex y 2-2 y; y(0)=1/2; xÎ [0; 2]; h=0, 1; yт= . 2. =ex - е-x; y(0)=0; xÎ [0; 1]; h=0, 1; yт= . 3. =x - 2 x y; y(0)=0; xÎ [0; 1]; h=0, 1; yт= . 4. =sin (2 x) – y tg(x); y(0)=0; xÎ [0; p]; h=0, 1; yт=-2cos2 x+2cos x. 5. =x y2+y; y(0)=1; xÎ [0; 1]; h=0, 1; yт= . 6. =ex-y - ex; y(0)=ln(2); xÎ [0; 1]; h=0, 1; yт=ln[1+2, 7182818exp(-ex)]. 7. x +y=x sin (x); y( )= ; xÎ [ ; p]; h=0, 1 ; yт= . 8. x -y=x2 sin (x); y( )=1; xÎ [ ; p]; h=0, 1 ; yт=x( - cos (x)). 9. x - y2+1=0; y(0, 1)=0; xÎ [0, 1; 1]; h=0, 1; yт= .
Популярное:
|
Последнее изменение этой страницы: 2016-04-10; Просмотров: 892; Нарушение авторского права страницы