Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
23.05.2015
Размер:
98.82 Кб
Скачать

Санкт-Петербургский государственный политехнический университет

Кафедра

информационная машиностроительная технология

Отчет

по лабораторной работе № 11 (вариант 7)

Дисциплина: вычислительная математика

Тема: Метод Рунге-Кутта.

Студенты гр. 2041/3 Бондарекно Е.И.

Преподаватель Кожанова Ю. В.

 2008 г.

Санкт-Петербург

2008

Цель работы:

Изучение метода Рунге-Кутты для решения ОДУ и исследование возникающих при этом погрешностей.

Исходные данные:

ОДУ:

Точное решение:

Границы отрезка: a=1; b=4

Xо = a = 0, Yo=0

Выполнение в Маткад:

Начальные условия:

задаем границы отрезка

произвольно задаем количество интервалов

определяем соответствующий шаг интегрирования

точное решение ДУ

начальное значение переменной х

определяем формулу для вычисления значений аргументов

1-ый модифицированный метод Эйлера:

начальное значение функции

Формула Рунге-Кутты 4 порядка

начальное значение функции

График точного решения T(t), приближенного решения M1

и приближенного решения по методу Рунге-Кутты RK :

Выполним оценку ошибки по методу Рунге-Кутты, возникающую при выбранном шаге h:

<--уменьшим величину шага и пересчитаем количество шагов

границы интервала интегрирования

дискретная переменная х

начальные значения

Восстанавливаем первоначальную величину шага и количество шагов

Формула оценки погрешности при удвоении количества шагов

Проверим критерий выбора оптимального шага погрешности:

Использование встроенных функций MathCad:

запишем переменную для точного решения в таком виде, чтобы точное решение имело вид матрицы

<---Совмещенная матрица полученных решений для наглядного сравнения полученных результатов

Таблица показывает, что использование функции с адаптированным шагом дает более точное решение

Применение блока Given-Odesolve

совмещенный график точного решения и

приближенного решения, полученного в

результате применения блока Given-Odesolve-

Вывод: