Изучение и программирование численных методов решения задачи Коши для ОДУ-1

Страницы работы

Содержание работы

ЛАБОРАТОРНАЯ РАБОТА ПММ(2к1с)-09

ИЗУЧЕНИЕ И ПРОГРАММИРОВАНИЕ

ЧИСЛЕННЫХ МЕТОДОВ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОДУ-1

Цель работы: Изучение простейших численных методов решения задачи Коши для обыкновенных дифференциальных уравнений 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

Похожие материалы

Информация о работе