Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFORMAT / 3TEOR_NU.DOC
Скачиваний:
16
Добавлен:
02.03.2016
Размер:
258.56 Кб
Скачать

4.4 Численное решение обыкновенных дифференциальных уравнений

Рассмотрим задачу Коши. Найти решение обыкновенного дифференциального уравнения

y = f (x, y),

на отрезке [a, b], (x0 = a), удовлетворяющее начальному условию y(x0) = y0. При численном решении поставленной задачи отрезок [a,b] разбивают на n (не обязательно равных) частей и определяют приближенные значения искомой функции y (x) в точках деления xi (yi = y (xi)).

4.4.1. Метод Эйлера. Геометрический смысл решения методом Эйлера (методом Рунге-Кутта первого порядка) состоит в том, что на малом отрезке (xi, xi + h) интегральная кривая y = y (x) дифференциального уравнения заменяется отрезком ее касательной в точке (xi; yi). Приближенное значение в точке xi+1 = xi + h находится по формуле:

yi+1 = yi + h y (xi) = yi + h f (xi, yi).

y

Рисунок 4.10 - Геометрическая интерпретация метода Эйлера

Блок-схема алгоритма метода Эйлера представлена в Приложении 6.

Пример. Найти решение дифференциального уравнения y = sin(xy) на отрезке [0, 0.5] при начальном условии y(0) = 2 и числе разбиений отрезка n=5.

Решение. При разбиении отрезка на 5 частей шаг постоянный h = 0,1. Начальное условие задачи x0 = 0, y0 = 2. Тогда при x1 = 0,1 значение y1 = y (x1) = y0 + h sin(x0y0), т.е. y1 = 2 + 0,1sin(02) = 2. В точке x2 = 0,2 значение y2 = y1 + h f(x1y1) = 2 + 0,1sin(0,12) = 2,019. Продолжая вычисления по формуле Эйлера, получим:

x3 = 0,3; y3 = 2,019 + 0,1sin(0,22,019) = 2,058

x4 = 0,4; y4 = 2,058 + 0,1sin(0,32,058) = 2,116

x5 = 0,5; y5 = 2,116 + 0,1sin(0,42,116) = 2,191

Решение этой задачи будет тем точнее, чем меньше шаг деления отрезка h.

4.4.2. Метод Рунге-Кутта (четвертого порядка). Рассматриваемый метод получил наиболее широкое распространение в практических расчетах. Его погрешность оценивается величиной ε h5, что дает возможность получить более точные результаты, чем в методе Эйлера. Не давая полного описания вывода формул, приведем их в следующем виде:

Здесь символом f (x, y), так же как и в описанном методе Эйлера, обозначается правая часть решаемого дифференциального уравнения, yi+1 и yi - приближенные значения интегральной функции в точках xi+1 и xi, hi = xi+1 - xi. Блок-схема этого метода представлена в Приложении 6.

Замечание. Одним из недостатков метода является отсутствие простого способа оценки погрешности. Грубую оценку погрешности можно получить по формуле:

ε  yh – yh/2/ 15,

где yh – значение, вычисленное с шагом h, yh/2 - с шагом h / 2. Если полученные результаты удовлетворяют допустимой погрешности, в дальнейших расчетах шаг удваивают, иначе – уменьшают его вдвое. Приведенный способ приводит к необходимости дополнительных затрат времени счета на ЭВМ.

4.5 Математическая обработка данных

На практике часто приходится иметь дело с данными, полученными в результате измерений, наблюдений. Они обычно представлены в виде табличных зависимостей yi = y (xi), где yi – значения результатов опыта, полученные для заданных величин xi. В этих случаях обычно требуется найти аналитическую функцию y = f(x), которая наиболее точно отражает зависимость результатов измерений, и с ее помощью можно найти значение для любой точки x. Существует два подхода к решению поставленной задачи: а) функция должна точно проходить через узлы (xi; yi)интерполяция и б) функция проходит с наименьшим отклонением от узлов и наиболее проста – аппроксимация.

4.5.1. Интерполяция. Задача интерполяции математически формулируется так: пусть на отрезке [a,b] заданы точки x0, x1, .. xn, со своими значениями y0, y1, .. yn. Требуется найти функцию y = f (x), которая в узлах интерполяции xi принимает значения yi, т.е. yi = f (xi). Решение этой задачи может быть выполнено двумя способами: локальной или полной интерполяцией.

Локальная интерполяция заключается в том, чтобы использовать только близлежащие точки. Например, если значение x лежит между xi и xi+1, то значение функции y = f (x) может быть найдено с помощью линейной интерполяции по формуле:

Более точный результат можно получить, если использовать информацию о трех близлежащих точках (квадратичная интерполяция). В этом случае можно однозначно определить коэффициенты параболы yi = aix2 + bix + ci для любого отрезка [xi-1; xi+1], которому принадлежит x. Решение системы линейных уравнений вида

позволяет определить неизвестные коэффициенты ai, bi, ci и значение y = aix2 + bix + ci. Блок-схема алгоритма квадратичной интерполяции представлена в Приложении 6.

Более точное значение y может быть получено с помощью интерполяционных многочленов, использующих информацию обо всех узлах функции. В качестве примера приведем формулу интерполяционного многочлена Лагранжа:

Пример. Для функции, заданной таблично

x

1

2

3

5

y

9

26

58

194

найти значение y в точке x=4 методами локальной линейной и квадратичной интерполяции, а также используя многочлен Лагранжа.

Решение. 1) Используя формулу локальной линейной интерполяции, получим: y = 58 + (194 - 58) (4 – 3)/(5 - 3) = 126.

  1. Для квадратичной зависимости составим систему линейных уравнений:

Решение этой системы дает значения a = 11,66; b = -26,33; c = 15. Таким образом y = 11,6642 – 26,334 + 15 = 96,23.

  1. Многочлен Лагранжа выглядит следующим образом:

Отметим, что последний результат наиболее точно соответствует данной зависимости.

4.5.2. Аппроксимация. Построение полного интерполяционного полинома требует определения его коэффициентов, число которых равно количеству заданных точек. При большом числе экспериментальных данных (xi, yi) хранение информации о коэффициентах также затруднительно, как и хранение самих данных. В этих случаях ставится вопрос о нахождении функции f (x, a0, a1, ... am), зависящей от параметров, число которых значительно меньше количества заданных точек (m<<n). Аппроксимирующая функция часто ищется в виде полинома

,

для нахождения коэффициентов которой используется следующий критерий:

должен принимать наименьшее значение (метод наименьших квадратов).

Необходимым условием минимума указанного критерия является равенство нулю всех частных производных функции F по параметрам a0, a1, ..., am (F/ai = 0, i = 0, 1, ... m).

4.5.2.1. Линейное приближение методом наименьших квадратов. Пусть аппроксимирующая функция является линейной относительно x, т.е.

f(x, a0, a1) = a0x + a1.

В этом случае критерий принимает вид:

Условия минимума значения F (F / a0 = 0, F / a1 = 0) приводят к системе линейных уравнений:

решение которой позволяет определить неизвестные параметры a0 и a1.

Пример. Определить линейную зависимость для функции, заданной таблично:

x

x1 = 1

x2 = 2

x3 = 3

x4 = 4

x5 = 5

y

5

6

10

11

13

Решение. Для определения неизвестных параметров функции y = a0x + a1 составим систему уравнений:

55a0 + 15a1 = 156

15a0 + 5a1 = 45

Решение данной системы позволяет найти значения a0 = 2,1, a1 = 2,7 и указать линейную зависимость: y = 2,1x + 2,7.

4.5.2.2. Аппроксимация параболической зависимостью. Пусть искомая функция является квадратичной, т.е.

В этом случае критерий метода наименьших квадратов принимает вид:

и условия минимума значения F (F/a0 = 0, F/a1 = 0, F/a2 = 0) приводят к системе трех линейных уравнений:

Решение данной системы позволяет найти неизвестные коэффициенты a0, a1, a2 и определить функциональную зависимость. Блок-схема алгоритма определения неизвестных a0, a1, a2 представлена в Приложении 6.

Соседние файлы в папке INFORMAT