![](/user_photo/2706_HbeT2.jpg)
- •Часть 3
- •Содержание
- •Введение
- •Численные методы решения задачи Коши
- •Порядок выполнения лабораторной работы.
- •Типовой отчет.
- •Варианты
- •Порядок выполнения лабораторной работы.
- •Типовой отчет.
- •Варианты
- •Порядок выполнения лабораторной работы.
- •Типовой отчет
- •Варианты
- •Лабораторная работа № 18 «Решение задач эллиптического типа» Элементы теории
- •Порядок выполнения лабораторной работы.
- •Варианты
- •Порядок выполнения лабораторной работы.
- •Варианты
- •Порядок выполнения лабораторной работы.
- •Варианты
- •Вид рабочего листа Расчет
- •Вид рабочего листа Динамика
- •Вид диаграммы на рабочем листе Расчет для задачи б)
- •Заключение
- •Литература
- •Часть 3
Порядок выполнения лабораторной работы.
Пример 1. Найти решение задачи Коши для системы двух обыкновенных дифференциального уравнений первого порядка:
с начальными
условиями y(1)
= 0, z(1)
= 2 на
отрезке x
[1;
2]
на сетке с числом шагов m
= 5 и m
= 10, оценить
по правилу Рунге точность расчетов и
сравнить с точным решением
.
Перед началом вычислений преобразуем систему уравнений:
Вид рабочего листа табличного процессора MS Excel приведен на рисунке. Оформление расчетов аналогично лабораторной работе "Численное интегрирование обыкновенного дифференциального уравнения первого порядка" для метода Рунге-Кутта. Отличие связано с появлением дополнительных строк для второго уравнения.
В диапазоне A5:A63 размещаем заголовки строк. Задаем узловые точки сетки: В5="1", С5="1.1", протягиваем диапазон В5:С5 до ячейки L5.
Программируем
рабочий лист для вычислений с шагом
h=0,2.
Размещаем начальное условие y(1)
= 0, z(1)
= 2: ячейка
В31="0",
В32="2".
Проводим расчет в 1-ой узловой точке.
Вычисляем угловой коэффициент функции
у
в начальной точке
:
ячейка D6
="=-B31/B5/(B5^2+1)+B32/(B5^2)/(B5^2+1)".
Вычисляем угловой коэффициент функции
z
в начальной
точке
:
ячейка D7="=-(B5^2)*B31/(B5^2+1)+(2*B5^2+1)*B32/B5/(B5^2+1)".
Вычисляем коэффициент
:
ячейка D8="=(D5-B5)*D6".
Вычисляем коэффициент
:
ячейка D9="=(D5-B5)*D7".
Вычисляем аргументы
коэффициентов k2
и l2:
ячейка
D10="=B5+(D5-B5)/2"
(
),
ячейка D11="=B31+D8/2"
(y0
+ k1/2
), ячейка
D12="
=B32+D9/2"
(z0
+ l1/2
) . Вычисляем
функцию f1
от полученных аргументов: ячейка
D13="=-D11/D10/(D10^2+1)+D12/D10^2
/(D10^2+1)".
Вычисляем функцию f2
от полученных аргументов: ячейка
D14="=-(D10^2)*D11/(D10^2+1)+(2*D10^2+1)
*D12/D10/(D10^2+1)".
Вычисляем коэффициент k2=hf1:
ячейка D15="=(D5-B5)*D13".
Вычисляем коэффициент l2=hf2:
ячейка D16="=(D5-B5)*D14".
Вычисляем аргументы коэффициентов k3 и l3: ячейка D17=" =B5+(D5-B5)/2" ( ), ячейка D18=" =B31+D15/2" (y0 + k2/2 ), ячейка D19= "=B32+D16/2" (z0 + l2/2) . Вычисляем функцию f1 от полученных аргументов: ячейка D20= "=-D18/D17/(D17^2+1)+D19/D17^2/ (D17^2+1)". Вычисляем функцию f2 от полученных аргументов: ячейка D21= "=-(D17^2)*D18/(D17^2+1)+(2*D17^2+1)*D19/D17/(D17^2+1)". Вычисляем коэффициент k3=hf1: ячейка D22="=(D5-B5)*D20". Вычисляем коэффициент l3=hf2: ячейка D23=" =(D5-B5)*D21".
Вычисляем аргументы
коэффициентов k4
и l4:
ячейка
D24="=D5"
(
),
ячейка D25="=B31+D22"
(y0
+ k3
), ячейка
D26="=B32+D23"
(z0
+ l3).
Вычисляем функцию f1
от
полученных аргументов: ячейка
D27=
"=-D25/D24/(D24^2+1)+D26/D24^2/(D24^2+1)".
Вычисляем функцию f2
от полученных аргументов: ячейка
D28="=-(D24^2)*D25/(D24^2+1)
+(2*D24^2+1)*D26/D24/(D24^2+1)".
Вычисляем коэффициент k4=hf1:
ячейка D29="=(D5-B5)*D27".
Вычисляем коэффициент l4=hf2:
ячейка D30="=(D5-B5)*D28".
Вычисляем следующее приближенное
значение функции у1
= у0
+ (k1
+ 2k2
+ 2k3
+ k4
)/6
: ячейка
D31="=B31+(D8+2*D15+2*D22+D29)/6".
Вычисляем следующее приближенное
значение функции z1
= z0
+ (l1
+ 2l2
+ 2l3
+ l4
)/6
: ячейка
D32="=B32+(D9+2*D16+2*D23+D30)/6".
Протягиваем диапазон D6:E32
в диапазон
D6:L32
для вычислений в остальных узловых
точках.
Программируем
рабочий лист для вычислений с шагом
h=0,1.
Размещаем начальное условие y(1)
= 0, z(1)
= 2: ячейка
В58="0",
В59="2".
Проводим расчет в 1-ой узловой точке.
Вычисляем угловой коэффициент функции
у
в начальной точке
:
ячейка C33="=-B58/B5/(B5^2+1)+B59/B5^2/(B5^2+1)".
Вычисляем угловой коэффициент функции
z
в начальной
точке
:
ячейка C34="=-(B5^2)*B58/(B5^2+1)+(2*B5^2+1)*B59/B5/(B5^2+1)".
Вычисляем коэффициент
:
ячейка C35="=(C5-B5)*C33".
Вычисляем коэффициент
:
ячейка C36="=(C5-B5)*C34".
Вычисляем аргументы коэффициентов k2 и l2: ячейка C37= "=B5+(C5-B5)/2" ( ), ячейка C38="=B58+C35/2" (y0 + k1/2 ), ячейка C39="=B59+C36/2" (z0 + l1/2 ) . Вычисляем функцию f1 от полученных аргументов: ячейка C40="=-C38/C37/(C37^2+1)+C39/C37^2/(C37^2+1)". Вычисляем функцию f2 от полученных аргументов: ячейка C41= "=-(C37^2)*C38/(C37^2+1)+(2*C37^2+1)*C39/C37/(C37^2+1)". Вычисляем коэффициент k2=hf1: ячейка C42="=(C5-B5)*C40". Вычисляем коэффициент l2=hf2: ячейка C43="=(C5-B5)*C41".
Вычисляем аргументы коэффициентов k3 и l3: ячейка C44= "=B5+(C5-B5)/2" ( ), ячейка C45="=B58+C42/2" (y0 + k2/2 ), ячейка C46="=B59+C43/2" (z0 + l2/2) . Вычисляем функцию f1 от полученных аргументов: ячейка C47="=-C45/C44/(C44^2+1)+C46/C44^2/(C44^2+1)". Вычисляем функцию f2 от полученных аргументов: ячейка C48= "=-(C44^2)*C45/(C44^2+1)+(2*C44^2+1)*C46/C44/(C44^2+1)". Вычисляем коэффициент k3=hf1: ячейка C49="=(C5-B5)*C47". Вычисляем коэффициент l3=hf2: ячейка C50="=(C5-B5)*C48".
Вычисляем аргументы коэффициентов k4 и l4: ячейка C51="=C5" ( ), ячейка C52="=B58+C49" (y0 + k3 ), ячейка C53="=B59+C50" (z0 + l3). Вычисляем функцию f1 от полученных аргументов: ячейка C54= "=-C52/C51/(C51^2+1)+C53/C51^2/(C51^2+1)". Вычисляем функцию f2 от полученных аргументов: ячейка C55="=-(C51^2)*C52/(C51^2+1)+ (2*C51^2+1)*C53/C51/(C51^2+1)". Вычисляем коэффициент k4=hf1: ячейка C56="=(C5-B5)*C54". Вычисляем коэффициент l4=hf2: ячейка C57="=(C5-B5)*C55". Вычисляем следующее приближенное значение функции у1 = у0 + (k1 + 2k2 + 2k3 + k4 )/6 : ячейка C58="=B58+(C35+2*C42+2*C49+C56)/6". Вычисляем следующее приближенное значение функции z1 = z0 + (l1 + 2l2 + 2l3 + l4 )/6 : ячейка C59="=B59+(C36+2*C43+2*C50+C57)/6". Протягиваем диапазон C33:C59 в диапазон D33:L59 для вычислений в остальных узловых точках.
Вычисляем точное
значение функции
в узловых точках: ячейка В60="=1-1/B5"
и протягиваем формулу в диапазон B60:L60.
Вычисляем
точное значение функции zт
= x
+ x2
в узловых
точках: ячейка В61="=B5+B5^2"
и протягиваем формулу в диапазон B61:L61.
По формуле (7)
вычисляем оценку точности в узловых
точках более крупной сетки: ячейка
D62="=МАКС(ABS(D58-D31);ABS(D59-D32))/15"
и протягиваем диапазон D62:E62
до ячейки L62.
По формуле (6)
вычисляем фактическое отклонение
приближенного значения на сетке h/2
в узлах более крупной сетки: ячейка
D63="
=МАКС(ABS(D58-D60);ABS(D59-D61))" и
протягиваем диапазон D63:E63
до ячейки L63.
Вычисления по классическому методу
Рунге-Кутта закончены.
Пример 2. Задачу Коши для дифференциального уравнения
преобразовать к
задаче Коши для системы двух дифференциальных
уравнений первого порядка и решить с
помощью разработанного расчетного
листа, внеся в него соответствующие
изменения. Точное решение
.
Преобразуем уравнение к задаче Коши для системы двух дифференциальных уравнений первого порядка, используя обозначения предыдущего примера:
y(0) = 1, z(0) = 0.
По сравнению с
предыдущим примером на рабочий лист
внесены следующие изменения. Изменен
диапазон интегрирования на отрезок [0;
1].
Изменены формулы в строках, в которых
вычисляются функции f1
и f2
. Изменено точное вычисление функции у
в строке 60. Точное значение функции z
(строка 61) получено дифференцированием
функции у:
.
Остальные вычисления проводятся
автоматически. Вид рабочего листа
табличного процессора MS
Excel
приведен на рисунке.