Линейная краевая задача для ОДУ второго порядка
Дана краевая задача:
(4.6)
(4.7)
Дифференциальное уравнение (4.6) и граничные условия (4.7) линейные.
Требуется составить таблицу y(x) для некоторой монотонной последовательности значений аргумента x.
Метод сведения к задаче Коши
В частном случае, когда краевые условия (4.7) заданы в виде
y(a) = A, y(b) = B,
рассматриваемая краевая задача сводится к следующим двум задачам Коши:
I. L[z] = j(x), z(a) = A, z ' (a) = 0;
II. L[v] = 0, v(a) = 0, v '(a) = 1.
Тогда
Отметим, что этот метод иногда приводит к пропаданию значащих цифр.
Разностный метод (метод прогонки)
Пусть краевые условия (4.7) задаются в виде
y(x0) = y0, y(xm) = ym.
Полагая x = xi = x0 + ih в уравнении (4.6) и заменяя производные разностными отношениями
приведём его к виду
yi+2 + Mi yi+1 + Ni yi = h2j1 i, i = 0, 1, 2, ¼, m – 2,
где
Далее решение состоит из двух этапов.
I. По следующим рекуррентным формулам вычисляются вспомогательные величины ci, di (i = 0, 1, 2, ¼, m – 2):
II. По формуле
yi+1 = ci(di – yi+2)
вычисляются значения искомой функции
ym-1, ym-2, ¼, y1.
В том случае, когда краевые условия (4.7) имеют вид
на заключительных этапах вычислений используют следующие формулы:
Задание № 9
Решить с точностью 10-5 нижеследующие краевые задачи. В отчёте представить программу решения, таблицу значений функции у(х), график функции.
Вариант А
Вариант | Уравнения задачи | а | Примечание |
y '' = - ay – x, y(0) = 0, y(1) = 0 | 0,5 | ||
-"- | 1,0 | ||
-"- | 1,5 | ||
-"- | 2,0 | ||
-"- | 2,5 | ||
-"- | 3,0 | ||
-"- | 3,5 | ||
-"- | 4,0 | ||
-"- | 4,5 | ||
-"- | 5,0 | ||
-"- | 5,5 | ||
-"- | 6,0 | ||
y '' = - f1i(x) y ' – cos(ax) y + 2x2 + 2x – 4 y(0) = 0, y(1) = 0 | 0,70 | f1i(x) задана таблично | |
-"- | 0,75 | -"- | |
-"- | 0,80 | -"- | |
-"- | 0,85 | -"- | |
-"- | 0,90 | -"- | |
-"- | 0,95 | -"- | |
y '' = - f2i(x) y ' – [1 – sin(ax)] y – x2 – x – 1 y(0) = 0, y(1) = 0 | 0,2 | f2i(x) задана таблично | |
-"- | 0,3 | -"- | |
-"- | 0,4 | -"- | |
-"- | 0,5 | -"- | |
-"- | 0,6 | -"- | |
-"- | 0,7 | -"- |
Таблица функций f1i(x)
x | f11(x) a = 0,70 | f12(x) a = 0,75 | f13(x) a = 0,80 | f14(x) a = 0,85 | f15(x) a = 0,90 | f16(x) a = 0,95 |
- 0,2 | - 1,80365 | - 1,71833 | - 1,64072 | - 1,56982 | -1,50479 | - 1,53730 |
0,0 | - 1,79304 | - 1,70123 | - 1,61836 | - 1,54319 | - 1,47469 | - 1,50894 |
0,2 | - 1,78627 | - 1,68770 | - 1,59945 | - 1,51996 | - 1,44800 | - 1,48398 |
0,4 | - 1,78322 | - 1,67763 | - 1,58385 | - 1,50000 | - 1,42458 | - 1,46229 |
0,6 | - 1,78378 | - 1,67089 | - 1,57143 | - 1,48315 | - 1,40426 | - 1,44370 |
0,8 | - 1,78785 | - 1,66733 | - 1,56203 | - 1,46924 | - 1,38686 | - 1,42805 |
1,0 | - 1,79530 | - 1,66683 | - 1,55551 | - 1,45814 | - 1,37223 | - 1,41518 |
1,2 | - 1,80602 | - 1,66924 | - 1,55172 | - 1,44966 | - 1,36020 | - 1,40493 |
Таблица функций f2i(x)
x | f21(x) a = 0,2 | f22(x) a = 0,3 | f23(x) a = 0,4 | f24(x) a = 0,5 | f25(x) a = 0,6 | f26(x) a = 0,7 |
- 0,2 | 0,97928 | 0,98052 | 0,98175 | 0,98299 | 0,98423 | 0,98361 |
0,0 | 1,00000 | 1,00000 | 1,00000 | 1,00000 | 1,00000 | 1,00000 |
0,2 | 1,01927 | 1,01800 | 1,01674 | 1,01548 | 1,01422 | 1,01485 |
0,4 | 1,03794 | 1,03448 | 1,03194 | 1,02941 | 1,02689 | 1,02815 |
0,6 | 1,05328 | 1,04942 | 1,04559 | 1,04179 | 1,03802 | 1,03991 |
0,8 | 1,06796 | 1,06280 | 1,05769 | 1,05263 | 1,04762 | 1.05012 |
1,0 | 1,08108 | 1,07463 | 1,06825 | 1,06195 | 1,05572 | 1,05884 |
1,2 | 1,09264 | 1,08490 | 1,07728 | 1,06977 | 1,06236 | 1,06606 |
Замечание. Задача вариантов 1 – 12 имеет аналитическое решение
поэтому можно оценить погрешность численного решения.
Отметим, что известные математические пакеты не содержат процедур численного решения краевых задач, если эти задачи не имеют аналитического решения.
Вариант Б
Вариант | Уравнения задачи | а | Примечание |
y '' = - f3i(x) y ' – cos2(ax) y + x2 + x – 3 y(0) = 0, y(1) = 0 | 0,5 | f3i(x) задана таблично | |
-"- | 0,6 | -"- | |
-"- | 0,7 | -"- | |
-"- | 0,8 | -"- | |
-"- | 0,9 | -"- | |
y '' = - y(0) = 0, y(1) = 0 | 1,0 | f4i(x) задана таблично | |
-"- | 1,1 | -"- | |
-"- | 1,2 | -"- | |
-"- | 1,3 | -"- | |
-"- | 1,4 | -"- | |
y '' = y(0) = 0, y(1) = 0 | 0,2 | f5i(x) задана таблично | |
-"- | 0,3 | -"- | |
-"- | 0,4 | -"- | |
-"- | 0,5 | -"- | |
-"- | 0,6 | -"- | |
y '' = y '(0) = - 0,4122×y(0), y '(1) = - 1,1217×y(1) | |||
-"- | |||
-"- | |||
-"- | |||
-"- | |||
-"- | |||
-"- | |||
-"- | |||
-"- |
Таблица функций f3i(x)
x | f31(x) a = 0,5 | f32(x) a = 0,6 | f33(x) a = 0,7 | f34(x) a = 0,8 | f35(x) a = 0,9 |
- 0,2 | - 1,05197 | - 1,05544 | - 1,05894 | - 1,06246 | - 1,06600 |
0,0 | - 1,01587 | - 1,01587 | - 1,01587 | - 1,01587 | - 1,01587 |
0,2 | - 0,98098 | - 0,97798 | - 0,97500 | - 0,97204 | - 0,96909 |
0,4 | - 0,94718 | - 0,94159 | - 0,93607 | - 0,93061 | - 0,92522 |
0,6 | - 0,91437 | -0,90655 | - 0,89887 | - 0,89132 | - 0,88389 |
0,8 | - 0,88245 | - 0,87273 | - 0,86322 | - 0,85391 | - 0,84480 |
1,0 | - 0,85135 | - 0,84000 | - 0,82895 | - 0,81818 | - 0,80769 |
1,2 | - 0,82100 | - 0,80827 | - 0,79593 | - 0,78396 | - 0,77234 |
Таблица функций f4i(x)
x | f41(x) a = 1,0 | f42(x) a = 1,1 | f43(x) a = 1,2 | f44(x) a = 1,3 | f45(x) a = 1,4 |
- 0,2 | 0,10949 | 0,10033 | 0,09259 | 0,08596 | 0,08021 |
0,0 | 0,09091 | 0,08333 | 0,07692 | 0,07143 | 0,06667 |
0,2 | 0,07299 | 0,06689 | 0,06173 | 0,05731 | 0,05348 |
0,4 | 0,05535 | 0,05068 | 0,04673 | 0,04335 | 0,04043 |
0,6 | 0,03759 | 0,03436 | 0,03165 | 0,02933 | 0,02732 |
0,8 | 0,01930 | 0,01761 | 0,01618 | 0,01497 | 0,01393 |
1,0 | 0,00000 | 0,00000 | 0,00000 | 0,00000 | 0,00000 |
1,2 | - 0,02092 | - 0,01894 | - 0,01730 | - 0,01592 | - 0,01475 |
Таблица функций f5i(x)
x | f51(x) a = 0,2 | f52(x) a = 0,3 | f53(x) a = 0,4 | f54(x) a = 0,5 | f55(x) a = 0,5 |
- 0,2 | 2,13386 | 2,06607 | 2,00246 | 1,94265 | 1,88631 |
0,0 | 2,13115 | 2,06349 | 2,00000 | 1,94030 | 1,88406 |
0,2 | 2,13386 | 2,06607 | 2,00246 | 1,94265 | 1,88631 |
0,4 | 2,14201 | 2,07384 | 2,00987 | 1,94973 | 1,89309 |
0,6 | 2,15567 | 2,08685 | 2,02228 | 1,96158 | 1,90443 |
0,8 | 2,17495 | 2,10520 | 2,03978 | 1,97830 | 1,92042 |
1,0 | 2,20000 | 2,12903 | 2,06250 | 2,00000 | 1,94118 |
1,2 | 2,23103 | 2,15854 | 2,09062 | 2,02685 | 1,96684 |
Замечание. В рамках пакетов Mathcad 7 ProиMathcad 2000 Proимеется возможность решать первую (когда заданы значения функции на границах области) и вторую (когда заданы значения производной функции на границах области) краевую задачу, что можно использовать для проверки правильности решения задачи. Здесь специальная программа sbvalотыскивает недостающие для задачи Коши граничные условия.
Синтаксис соответствующей команды вызова программы следующий:
sbval (v, x1, x2, D, load, score)
Здесь:
· v – вектор начальных приближений для искомых (недостающих) начальных значений в точке х1;
· load(x1, v)– векторозначная функция, возвращающая значения граничных (начальных) условий в точке х1; состоит из n элементов для ОДУ n-го порядка;
· score(x2, y)– векторозначная функция, количество элементов которой равно числу элементов вектора v. Каждый элемент содержит разность между начальным значением, заданным в точке х2, и значением решения в этой точке. Вектор scoreпоказывает, насколько значения найденного решения в точке х2 близки к значениям, заданным в постановке задачи. Значение 0 для любого элемента указывает на полное совпадение этих двух значений.
В дальнейшем для решения уравнения используются стандартные численные схемы, например rkfixed.
Рассмотрим использование этой процедуры на конкретном примере. Пусть задано дифференциальное уравнение
причём функция f(x) задана таблицей
x | - 0,2 | 0,0 | 0,2 | 0,4 | 0,6 | 0,8 | 1,0 | 1,2 |
f(x) | 0,10949 | 0,09091 | 0,07299 | 0,05535 | 0,03759 | 0,01930 | 0,00000 | - 0,02092 |
Прежде всего, аппроксимируем табличную зависимость некоторой функцией (здесь можно использовать любой из ранее рассмотренных методов), например, программа CurveExpert v. 1.3 практически с единичным корреляционным отношением предлагает зависимость
Дальнейшее использование возможностей пакета Mathcad показано ниже.