ЛАБОРАТОРНАЯ РАБОТА ПММ(2к1с)-09
ИЗУЧЕНИЕ И ПРОГРАММИРОВАНИЕ
ЧИСЛЕННЫХ МЕТОДОВ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОДУ-1
Цель работы: Изучение простейших численных методов решения задачи Коши для обыкновенных дифференциальных уравнений 1-го порядка.
В соответствии с п. 2.2, расчет по методу Эйлера заключается в выполнении цикла по всем точкам сетки и заполнении массивов {ti}, {xi}. В тестовых задачах, когда известно точное решение, для каждой точки ti вычисляется также точный результат xi,точн и относительная погрешность Deltai (в процентах).
В соответствии с требованиями языка Турбо-Паскаль структура используемых массивов должна быть описана в описании Type, а их имена - в описании Var. (Пример программы решения ОДУ-1.)
Program Name;
- описание типа массивов;
- описание переменных;
- подпрограмма-функция вычисления правой части ДУ F(t,x);
- подпрограмма-функция вычисления точного решения Ftochn(t);
(для тестовых расчетов)
Begin
Repeat {- цикл. позволяющий выполнить несколько расчетов с разными параметрами}
- ввод исходных данных a, b, h, х0, у0;
N:=Round((b-a)/h;
- вычисление элементов массивов;
х[0]:=а; y[0]:=y0; Delta[0]:=0;
Fог 1:=1 to N do begin
x[i]:=x[i-1]+h;
у[i]:=y[i-1]+h*F(x[i-1],y[i-1]);
ytochn[i]:=Ftochn(x[i]);
Delta[i]:=Abs((ytochn[i]-y[i])/ytochn[i]*100);
end;
- вывод результатов в виде таблицы;
- вывод результатов в текстовый файл для печати
- построение графика решения
- запрос на повторение вычислений (otv=’y’ или ‘n’)
Until otv=’y’;
End.
СОДЕРЖАНИЕ ЗАДАНИЯ
ЗАДАЧА 1. Для заданного дифференциального уравнения 1-го порядка решить задачу Коши: а) аналитически (проверить решение подстановкой); б) численно методом Эйлера.
Для выполнения численного решения составить программу, которая содержит:
- описание массивов X и Y для хранения значений аргумента и функции;
- процедуру вывода на экран заставки с подробным описанием программы;
- процедуру ввода параметров задачи: границ интервала [a,b], начального условия y0 и шага h;
- процедуру вычисления в точках ti на интервале [а,b] точного и численного значений решения и относительной погрешности численного решения deltai (в процентах), а также максимальной погрешности на интервале;
- процедуру вывода на экран и в текстовый файл (для последующего вывода на принтер) результатов вычислений в виде таблицы [ i; ti; xi,точн; xi,числ; deltai ].
При выводе информации на экран и вводе исходных данных использовать процедуры оформления диалога (Приложение 2).
Выполнить отладку программы с помощью тестовой задачи:
y'=x2/y; y(0)=1; yточн(x)=(2x3/3)1/2+1.
ЗАДАЧА 2. Для выполнения численного решения Коши для ОДУ-1 (условие получить у преподавателя) методом Эйлера составить программу которая содержит:
описание массивов X[0..100] и Y[0..100] для хранения значений аргумента и функции;
описание функции F(x,y) – правой части ОДУ-1;
описание функции Ftochn(x) – точного решения ОДУ-1;
- процедуру вывода на экран заставки с подробным описанием программы;
- процедуру ввода параметров задачи: границ интервала [a,b], начального условия y0 и шага h;
- процедуру вычисления в точках xi на интервале [а,b] точного и численного значений решения и относительной погрешности численного решения deltai (в процентах), а также максимальной погрешности на интервале;
процедуру вывода на экран результатов вычислений в виде таблицы
[ i; ti; xi,точн; xi,числ; deltai ].
При выводе информации на экран и вводе исходных данных использовать процедуры оформления диалога.
ЗАДАЧА 3. Модифицировать программу таким образом, чтобы решение выполнялось методом Эйлера-Коши и выполнить условие предыдущей задачи.
*ЗАДАЧА 4. Модифицировать программу таким образом, чтобы решение выполнялось улучшенным методом Эйлера
Составил: Дей Е.А. 2004
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.