Математичне моделювання на електронно-обчислювальній машині

Поняття математичного моделювання. Постановка задачі та метод її розв’язку. Блок-схема модифікованого метода Ейлера. Код програми в середовищі Delphi 7. Опис програми та її блок-схема. Контрольні приклади, дослідження кінематики хімічної реакції.

Рубрика Экономико-математическое моделирование
Вид курсовая работа
Язык украинский
Дата добавления 31.05.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Зміст

1. Поняття математичного моделювання

2. Завдання

3. Постановка задачі та метод її розв'язку

4. Блок-схема модифікованого метода Ейлера

5. Код програми в середовищі Delphi 7

6. Опис програми та її блок-схема

7. Контрольні приклади

1. Поняття математичного моделювання

Поняття математичного моделювання трактується різними авторами по своєму. Ми будемо його пов'язувати з нашою спеціалізацією - прикладна математика.

Під математичним моделюванням ми будемо розуміти метод дослідження процесів або явищ шляхом побудови їхніх математичних моделей і дослідження цих процесів.

В основу методу покладемо адекватність між змінними складеного рівняння і досліджуваного процесу. Зрозуміло, що на практиці ці процеси не будуть абсолютно ідентичні. Але можна удосконалювати математичну модель, яка більш точно буде описувати цей процес.

Треба пам'ятати, що в останньому випадку, як правило, математичні рівняння ускладнюються. А це означає, що їх моделювання на ЕОМ потребує більше часу, або ж більше не визначаючих обчислювальних комплексів.

Схема таких досліджень починається з постановки задачі і закінчується проведенням ефективного обчислювального експерименту. Її умови можна записати в такій формі:

а) постановка задачі;

б) побудова математичної моделі;

в) перевірка її адекватності;

г) узагальнення та теоретичне дослідження даного класу задач;

д) створення програмного забезпечення;

е) проведення обчислювального експерименту;

ж) впровадження цих результатів в виробництво.

2. Завдання

Дослідити кінематику хімічної реакції, яка описується рівнянням

Математична модель реакції представлена у вигляді:

де , ,-концентраціїкомпонентів у момент t, а , - константи швидкості реакції. За отриманими даними побудувати графіки зміни концентрації для кожного компонента. Обчислення провести модифікованим методом Ейлера.

3. Постановка задачі та метод її розв'язку

Диференційне рівняння п-порядку називається лінійним однорідними,якщо воно першої степені відносно шуканої функції у і її похідних у?,...,у(n-1), у(n), тобто має вид:

у(n) + а1у(n-1)+....+ аnу =0

Метод Ейлера являється відносно грубим і застосовується в основному для орієнтовних розрахунків. Але ідеї, які закладені в основі метода, являються вихідними для ряду інших методів.

Нехай задано диференціальне рівняння

у' = f (x,y )(1)

з початковими умовами

х = х0, у(х0) = у0(2)

Потрібно знайти розв'язок рівняння (1) на відрізку [а,b]

Розіб'ємо відрізок [а,b] на n рівних частин, одержимо послідовність х0, х1, х2,…..,хn, де хі = х0+іh (i =0,1,2,….n), h = (b-a)/n -крок інтегрування.

Рис. 1

Розглянемо метод на елементарному відрізку , на якому інтегральну криву заміняємо в точці дотичною. Тобто в точці проводимо пряму з кутовим коефіцієнтом , рівняння даної прямої:

Визначаємо точку перетину цієї прямої з прямою проведеної в точці . Підставивши в рівняння прямої маємо:

Отримане значення вважають значенням шуканої функції. Операцію повторюємо на проміжку і так далі на всьому проміжку

З метою підвищення точності методу Ейлера використовують різні його модифікації.

Модифікований метод Ейлера. Відмінність полягає в тому, що спочатку розраховується значення функції в середині даного кроку, а потім робиться повний крок.

Xk+1=Xk+h;

Yk+1=Yk+F(Xk+h/2;Yk+F(Xk;Yk)h/2);

4. Блок-схема модифікованого метода Ейлера

Рис. 2

5. Код програми в середовищі Delphi 7

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, Grids,

ValEdit, jpeg;

type

TForm1 = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

Button1: TButton;

Button3: TButton;

StringGrid1: TStringGrid;

LabeledEdit4: TLabeledEdit;

LabeledEdit5: TLabeledEdit;

LabeledEdit7: TLabeledEdit;

LabeledEdit6: TLabeledEdit;

LabeledEdit8: TLabeledEdit;

Chart1: TChart;

Series2: TLineSeries;

Series1: TLineSeries;

Series3: TLineSeries;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure LabeledEdit4KeyPress(Sender: TObject; varKey: Char);

procedure LabeledEdit3KeyPress(Sender: TObject; varKey: Char);

procedure LabeledEdit1KeyPress(Sender: TObject; varKey: Char);

private

{ Privatedeclarations }

public

{ Publicdeclarations }

end;

var

Form1: TForm1;

a,b,h,k1,k2,ya,yb,yc,y1,y2,y3:real;

i,n:integer;

implementation

uses Unit2;

{$R *.dfm}

functionCa(t:real):real;

begin

Ca:=-k1*(t+5);

end;

functionCb(t:real):real;

begin

Cb:=k1*(t+5)-k2*(sqr(t)-13);

end;

functionCc(t:real):real;

begin

Cc:=k2*(sqr(t)-13);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

a:=strtofloat(labelededit1.Text);

b:=strtofloat(labelededit2.Text);

n:=strtoint(labelededit3.Text);

ya:=strtoint(labelededit4.Text);

yb:=strtoint(labelededit6.Text);

yc:=strtoint(labelededit8.Text);

k1:=strtoint(labelededit5.Text);

k2:=strtoint(labelededit7.Text);

if (b<=a) or (n<1) then

begin

form1.Enabled:=false;

form2.Visible:=true;

end

else

begin

stringgrid1.RowCount:=n+2;

stringgrid1.Cells[0,0]:='t';

stringgrid1.Cells[1,0]:='Ca(t)';

stringgrid1.Cells[2,0]:='Cb(t)';

stringgrid1.Cells[3,0]:='Cc(t)';

stringgrid1.Cells[0,1]:=floattostr(a);

stringgrid1.Cells[1,1]:=floattostr(ya);

stringgrid1.Cells[2,1]:=floattostr(yb);

stringgrid1.Cells[3,1]:=floattostr(yc);

h:=(b-a)/n;

i:=1;

repeat

y1:=ya+Ca(a+h/2)*h;

y2:=yb+Cb(a+h/2)*h;

y3:=yc+Cc(a+h/2)*h;

a:=a+h;

ya:=y1;

yb:=y2;

yc:=y3;

i:=i+1;

stringgrid1.Cells[0,i]:=floattostr(a);

stringgrid1.Cells[1,i]:=floattostr(y1);

stringgrid1.Cells[2,i]:=floattostr(y2);

stringgrid1.Cells[3,i]:=floattostr(y3);

until i>n;

Series1.Clear;

Series2.Clear;

Series3.Clear;

for i:=1 to StringGrid1.RowCount-1 do

Series1.AddXY(StrToFloat(StringGrid1.Cells[0,i]),

StrToFloat(StringGrid1.Cells[1,i]),

'',clGreen);

for i:=1 to StringGrid1.RowCount-1 do

Series2.AddXY(StrToFloat(StringGrid1.Cells[0,i]),

StrToFloat(StringGrid1.Cells[2,i]),

'',clRed);

for i:=1 to StringGrid1.RowCount-1 do

Series3.AddXY(StrToFloat(StringGrid1.Cells[0,i]),

StrToFloat(StringGrid1.Cells[3,i]),

'',clBlue);

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Labelededit1.Text:='';

Labelededit2.Text:='';

Labelededit3.Text:='';

Labelededit4.Text:='';

Labelededit5.Text:='';

Labelededit6.Text:='';

Labelededit7.Text:='';

Labelededit8.Text:='';

series1.Clear;

series3.Clear;

series2.Clear;

for i:=0 to stringgrid1.RowCount-1 do

begin

stringgrid1.Cells[0,i]:='';

stringgrid1.Cells[1,i]:='';

stringgrid1.Cells[2,i]:='';

stringgrid1.Cells[3,i]:='';

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm1.LabeledEdit4KeyPress(Sender: TObject; varKey: Char);

begin

ifnot (keyin['0'..'9',#08,',','-']) thenkey:=#0;

end;

6. Опис програми та її блок-схема

При запуску програми перед користувачем відкривається головне вікно. Це вікно розділене на дві частини:

Графічна частина

Частина вводу вихідних даних

В частині вводу вихідних даних користувачу необхідно ввести початковий та кінцевий час (в секундах), задати початкові умови для методу, кількість ітерацій, а також коефіцієнти, що відповідають за швидкість хімічної реакції.

Після цього користувач має натиснути кнопку «Розрахувати» і програма після деяких перевірок почне розрахунок модифікованим методом Ейлера. В результаті буде отримано чисельні значення кожної функції, які будуть занесені в таблицю і по цим значення буде побудовано три графіки різного кольору.

Для того, щоб очистити всі поля, таблиці та графіки необхідно натиснути на кнопку «Очистити»

Размещено на http://www.allbest.ru/

Рис. 3

В цьому блоці виконується підключення необхідних модулів, об'являються константи, функції змінних та створюються контроль.

Блок 2

В даному блоці відбувається ввід початкових даних користувачем.

Блок 3

В даному блоці відбувається перевірка введених даних та рішення програми про наступні кроки дій.

Блок 4

В цьому блоці програма проводить розрахунок модифікованим методом Ейлера і заповнюється таблиця із результуючими даними.

Блок 5

В даному блоці будуються графіки по розрахованими даними.

7. Контрольні приклади

Приклад№1

Рис. 4

Рис. 5

математичний моделювання метод ейлер

Приклад №2

Рис. 6

Рис. 7

Размещено на Allbest.ru


Подобные документы

  • Розвиток методології економіко-математичного моделювання. Економіко-математичні моделі в працях вітчизняних економістів. Математичне моделювання і зовнішньополітичні дослідження. Простір індикаторів в системі міжнародних відносин: задачі метатеорії.

    реферат [228,8 K], добавлен 01.07.2008

  • Поняття математичного моделювання. Види математичних моделей. Поняття диференціальних рівнянь. Приклади процесів, що моделюються диференціальними рівняннями експоненціальної змінної. Рівняння гармонічних коливань. Застосування диференціальних рівнянь.

    курсовая работа [291,1 K], добавлен 01.10.2014

  • Управлінське рішення як концентроване вираження процесу управління. Економіко-математичне моделювання процесів прийняття управлінських рішень. Окремі випадки економіко-математичного моделювання в менеджменті на прикладі прогнозування та планування.

    курсовая работа [41,2 K], добавлен 24.03.2012

  • Теоретико-методологічні основи дослідження взаємозв’язку макроекономічних показників з податками. Аналіз робіт та напрямків економіко-математичного моделювання у сфері оподаткування. Моделювання впливу податкової політики на обсяг тіньової економіки.

    дипломная работа [1,5 M], добавлен 21.06.2010

  • Моделювання як засіб розв'язання багатьох економічних завдань і проведення аналітичного дослідження. Теоретичні дослідження та програмне забезпечення моделювання процесу виробництва. Використання в економіці комп'ютерних технологій розв'язання моделей.

    отчет по практике [23,0 K], добавлен 02.03.2010

  • Методичні вказівки до виконання курсового проекту. Дослідження глобальних моделей виробництва та споживання. Побудова двогалузевої макроекономічної моделі. Дослідження виробничих функцій. Опис програми і початкові дані. Інструкція користувачу програми.

    методичка [163,7 K], добавлен 12.01.2009

  • Дослідження аспектів податкового регулювання різних економічних процесів, його напрямки та етапи. Математичне та графічне моделювання взаємозв’язку податкової політики та процесів виробництва на підприємстві у взаємодії із надходженнями до бюджету.

    статья [115,3 K], добавлен 26.09.2011

  • Приведення рівняння до безрозмірної форми. Знаходження точного розв'язку рівняння. Складання М-файлу правих частин рівняння у формі Коші. Створення підпрограми інтегрування, керуючої програми. Графік залежності амплітуди похибки від кроку інтегрування.

    контрольная работа [1,2 M], добавлен 07.08.2013

  • Аналіз умов застосування існуючих методик і моделей прогнозу характеристик цінних паперів, розробка концепції економіко-математичного моделювання облігацій і акцій. Кількісне дослідження й моделей і алгоритмів оцінювання ризикових і безризикових активів.

    автореферат [64,1 K], добавлен 06.07.2009

  • Процедури та моделювання систем зв’язку, формальний опис та оцінювання ефективності. Специфіка цифрового зображення сигналів. Особливості та методи побудови математичних моделей систем та мереж зв'язку. Математичні моделі на рівні функціональних ланок.

    реферат [120,1 K], добавлен 19.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.