Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

Пример 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 приведен на рисунке.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.