Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Порядок выполнения лабораторной работы. Пример 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= Вычисляем аргументы коэффициентов k4 и l4: ячейка D24=" =D5" (), ячейка D25=" =B31+D22" (y0 + k3), ячейка D26=" =B32+D23" (z0 + l3). Вычисляем функцию f1 от полученных аргументов: ячейка D27= Программируем рабочий лист для вычислений с шагом 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= Вычисляем аргументы коэффициентов k3 и l3: ячейка C44= Вычисляем аргументы коэффициентов k4 и l4: ячейка C51=" =C5" (), ячейка C52=" =B58+C49" (y0 + k3), ячейка C53=" =B59+C50" (z0 + l3). Вычисляем функцию f1 от полученных аргументов: ячейка C54= Вычисляем точное значение функции в узловых точках: ячейка В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 приведен на рисунке.
|