Решение системы дифференциальных уравнений

Вторым этапом анализа достоверности полученных результатов была проверка правильности решения системы линейных дифференциальных уравнений с аналитическим решением.

Рассмотрим следующую систему дифференциальных уравнений, которую требуется решить методом Адамса-Башфорта:

                            

         Начальными условиями здесь являются:

 . Возьмем начальный шаг интегрирования h=0.00001, время интегрирования по трех точечному методу прогноза и коррекции tp=0.1 и время интегрирования по методу Адамса-Башфорта ta=1.

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

Иллюстрация решения данной системы дифференциальных уравнений приведены в виде графика в приложении 3.

ЗАКЛЮЧЕНИЕ

В данной курсовой научно-исследовательской работе разработан алгоритм и программа решения систем линейных дифференциальных уравнений первого порядка пяти точечным методом прогноза и коррекции Адамса-Башфорта.

Проведены тестовые расчеты, подтвердившие высокую эффективность и точность метода Адамса-Башфорта со стартованием трех точечным методом прогноза и коррекции с переменным шагом.

Проведены ряд исследований решения систем как с постоянным шагом, так и с переменным шагом на сходимость к постоянному шагу.

Во всех случаях получены результаты высокой точности.

Список литературы

1.Дж.Ортега, У.Пул “Введение в численные методы решения дифференциальных уравнений ”. Пер.с англ.; под редакцией А.А.Абрамова - М.;Наука.Гл.ред.физ.мат.лит.1986.-288с.

2.Р.В.Хемминг “Численные методы для научных работников инженеров ”: Пер с англ.:Под редакцией Р.С.Гутера.- Гл.ред.физ.мат.лит.1968.-203 с.

Т.Шуп.”Решение инженерных задач наЭВМ. Практическое пособие “

Пер.с англ.-М.Мир.1982.-238с.

Приложение 1:

                  Блок схема Алгоритма

 

 

 

 

 

 

                                                         -    

        

                                          +

 

 

 

 

                                                          -

                                             +

 

 

Приложение 2:

 

 

 

     Решение одного дифференциального уравнения

 

 

Приложение 3:

 

     Решение системы линейных дифференциальных уравнений

 

       1-ое уравнение                               2 –ое уравнение

                    3 – е уравнение                                4 –ое уравнение

 

Приложение 4: Тексты программ

 

{

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 |          PrandCoM version 2.41 Copiright (c) 2001            |

 |               Программа разработана студентом                  |

 |           Национального Технического Университета              |

 |           " Харьковский Политехнический Институ "              |

 |                       группы И - 29                            |

 |         Кафедры Автоматического Управления Движением           |

 |                (Системы и процессы управления)               |

 |                        Ухановым Е.В.                           |

 |              NetMail (FidoNet) 2:461/212.21                |

 |                E-Mail: JVUMailbox@rambler.ru                  |

 |                                                                     |

 | Программа разработана на основе объектной библиотеки VFH version 4.XX |

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

}

{$M 10000,0,0}

(****************************************************************************)

(****** Дата последней разработки: 05.05.2001   **********************)

(****************************************************************************)

Program Prognoz_and_Correction_Modification;

(****************************************************************************)

 Uses PACM;

(****************************************************************************)

 var

TPC: TApplPandC;

(****************************************************************************)

(******************************) begin (*************************************)

                       TPC.Application;

                          TPC.Done;

(*******************************) end. (*************************************)

(****************************************************************************)

 

{

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 |                         Версия 2.XX                            |

 |  Программа разработана студентом Национального Технического    |

 | Университета " Харьковский Политехнический Институ " группы И - 29 |

 |  Кафедры Автоматического Управления Движением - Ухановым Е.В. |

 |               NetMail (FidoNet) 2:461/212.21               |

 |                 E-Mail: jvumailbox@rambler.ru                 |

 |                                                                     |

 | Программа разработана на основе объектной библиотеки VFH version 4.XX |

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

}

(****************************************************************************)

(**** Дата последней разработки модуля: 15.04.2001   *****************)

(****************************************************************************)

 

(****************************************************************************)

(*******************************) Unit PACM; (*******************************)

(****************************************************************************)

(*******************************) INTERFACE (********************************)

(****************************************************************************)

Uses FormObj,MouseObj,PACMEr,PACMMenu,PACMBtn,PACMPnl,PACMPC,PACMCnst;

(****************************************************************************)

type

TApplPandC = object (TForm)

Function MouseHandler: boolean;Virtual;

Procedure FormCreate;Virtual;

Procedure Application;

        end;

(****************************************************************************)

(******************************) IMPLEMENTATION (****************************)

(****************************************************************************)

 Procedure TApplPandC.FormCreate;

var

Pnl: TPanel;

Pnl1: TPanel;

TMenu1: TCreateMenus;

begin

Pnl.Init(548,35,619,50,1,7,1,1,1,1,false,false);

Pnl.Panel;

Pnl1.Init(470,407,630,460,1,7,1,0,1,4,true,false);

Pnl1.Panel;

TPnl1.ToolBarCreate;

TPnl1.PanelCreate;

TPageControl1.PageControlCreater;

TBitBtns.BitBtnCreaters;

TMenu1.MenusCreate;

end;

(********************************)

 Function TApplPandC.MouseHandler;

var

TMouse1: TMouse;

b,x,y : word;

TMenu1: TCreateMenus;

TSubMenu1: TCreateMenus;

ST1   : TSystemTime;

begin

MouseHandler:=false;

TMouse1.GetMouseState(b,x,y);

ST1.Init(549,36,618,49,1,15);

ST1.SystemTime;

TBitBtns.BitBtnHandlers(b,x,y);

MouseHandler:=fExitBtn;

TMenu1.MenusVisible(x,y);

TMenu1.MenusHandlers(b,x,y);

TPageControl1.PageControlHandlers(b,x,y);

end;

 

 Procedure TApplPandC.Application;

var

TIEr: TInitErrors;

begin

TIEr.FatalErrorVFH;

TIEr.LoadFont('km_defj8.fnt');

TIEr.FindImEr1('x.bi');

InitObjGraph;

if InitMouseJVU then

    begin

      TIEr.LfLoad('Lf.sys');

      TIEr.ErrorExec('x.bi');

      TIEr.FindFile('f1.dat');

      TIEr.FindFile('f2.dat');

      TIEr.FindFile('f3.dat');

      TIEr.FindFile('f4.dat');

      TIEr.FindFile('km_defj8.fnt');

      TIEr.FindFile('f_nfrj8.fnt');

      TIEr.FindFile('t_nfrj8.fnt');

      TIEr.FindFile('asdf.bi');

      TIEr.FindFile('pacm_n1.bi');

      TIEr.FindFile('pacm_n2.bi');

      TIEr.FindFile('pacm_n3.bi');

      TIEr.FindFile('pacm_n4.bi');

      TIEr.FindFile('PrandCoM.hlp');

      TIEr.FindFile('litj.chr');

      TIEr.FindFile('scri.chr');

      TIEr.FindFile('trip.chr');

      TIEr.FindFile('tscr.chr');

      TIEr.FindFile('initm.mtr');

      TIEr.FindFile('initnu.mtr');

   if not fQuickHalt then

       begin

      TIEr.LoadCFG('PrandCom.cfg');

          With HT do

             begin

               hx1:=575;

               hy1:=20;

               hx2:=637;

               hy2:=34;

               hc:=true;

               hs:='Закрыть';

             end;

Init(1,1,639,479,7,1,'Prognoz & Corrections Modifications');

Form;

       end;

end

  else

    begin

      TIEr.ErrorVFH;

    end;

end;

 

(****************************************************************************)

(***********************************) END. (*********************************)

(****************************************************************************)

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: