Решение задачи Коши для систем обыкновенных дифференциальных уравнений методом Рунге-Кутта-Мерсона

Автор: Пользователь скрыл имя, 28 Марта 2011 в 19:13, курсовая работа

Краткое описание

Цель работы: составить программу для решения задачи Коши для системы дифференциальных уравнений методом Рунге-Кутта-Мерсона на примере, проверить полученное решение в MathCad и проанализировать результаты.

Оглавление

ВВЕДЕНИЕ……………………………………………………………….…………3
ГЛАВА I. РЕШЕНИЕ ЗАДАЧИ КОШИ ДЛЯ СИСТЕМ ДИФФЕРНЕЦИАЛЬНЫХ УРАВНЕНИЙ МЕТОДОМ РУНГЕ-КУТТА-МЕРСОНА…………………………………………………………………..………4
1. Постановка задачи Коши для систем обыкновенных дифференциальных уравнений………….……………..................…...4
2. Метод Рунге-Кутта-Мерсона………………………………………….5
1.3. Алгоритм решения задачи Коши для систем обыкновенных дифференциальных уравнений методом Рунге-Кутта-Мерсона……………….........................................................………..….7
ГЛАВА II. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРЕМЕНТ………….………...…....8
2.1. Постановка задачи……………………………………………………..8
2.2. Анализ результатов……………………………………………….....…9
ЗАКЛЮЧЕНИЕ………………………………………………………………..….10СПИСОК ЛИТЕРАТУРЫ………...……………........................................ ..........11
ПРИЛОЖЕНИЕ.......................................................................................................12
Приложение 1........................................................................................12
Приложение 2........................................................................................16

Файлы: 1 файл

курсовая.doc

— 125.00 Кб (Скачать)

     procedure TForm1.Button1Click(Sender: TObject);

     begin

     h:=strtofloat(edit1.Text);

     e1:=strtofloat(edit2.Text);

     x:=strtofloat(edit5.Text);

     w[1]:=strtofloat(edit3.Text);

     w[2]:=strtofloat(edit4.Text);

     k2:=0;

     e3:=0;

     ur;

     d2:=0;

       for j:=1 to n do

       begin

       a[j]:=f[j]*H;

       y[j]:=W[j]+a[j]/3;

       end;

     x:=x+h/3;

     ur;

       for j:=1 to n do

       begin

       y[j]:=W[j]+(a[j]+f[j]*H)/6;

       end;

     ur;

       for j:=1 to n do

       begin

       c[j]:=f[j]*H;

       y[j]:=W[j]+a[j]/8+0.375*c[j];

       end;

     x:=x+h/6;

     ur;

       for j:=1 to n do

       begin

       d[j]:=f[j]*H;

       y[j]:=W[j]+a[j]/2-1.5*c[j]+2*d[j];

       end;

     x:=x+h/2;

     ur;

       for j:=1 to n do

       begin

       e[j]:=f[j]*H;

       y[j]:=W[j]+(a[j]+4*d[j]+e[j])/6;

       e2:=abs(-2*a[j]+9*c[j]-8*d[j]+e[j])/30;

       if e2<=e1 then

       if e2<e1/20 then d2:=d2+1 else

       e3:=0;

       end;

     if e3<>0 then begin

       x:=x-h;

       for j:=1 to n do begin

       y[j]:=W[j];

       end;

       H:=H/2;

       end

     else k2:=1;

     if d2=n then H:=H+H;

     form2.Show;

     form2.edit1.text:=floattostr(y[1]);

     form2.edit2.text:=floattostr(y[2]);

     end;

     end. 
 
 
 
 
 

Приложение 2 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
     

 
 
 
 
 
 
 
 
 
 
 
 
     

Информация о работе Решение задачи Коши для систем обыкновенных дифференциальных уравнений методом Рунге-Кутта-Мерсона