Математическое моделирование физических процессов

Автор работы: Пользователь скрыл имя, 04 Декабря 2011 в 04:04, курсовая работа

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

Данная работа рассматривает одну из самых востребованных в наше время областей математики. Ведь эта область позволяет прогнозировать природные и экономические явления, планировать транспортные и информационные потоки, а так же точно рассчитывать различные виды затрат. Без преувеличения можно назвать математическое моделирование — основным инструментом по проектированию человеческой цивилизации.
Целью данной работы является самостоятельное изучение метода математического моделирования, а также построение и исследование математической модели процесса движения точки средствами языка программирования Delphi.

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

Введение
Глава 1. Задачи на определение кинематических характеристик движения точки
Глава 2. Реализация средствами среды программирования Delphi7
Заключение
Литература
Приложение

Содержимое работы - 1 файл

Копия курсовая.docx

— 581.37 Кб (Скачать файл)

  series3.AddArrow(xm,ym,x2,y2,'',clPurple); // an

  series2.AddBubble(xm+(x2-xm)/2,ym+(y2-ym)/2,0,'An');

  series3.AddArrow(xm,ym,x3,y3,'',clBlue);  //ap

  series2.AddBubble(xm+(x3-xm)/2-0.15,ym+(y3-ym)/2,0,'A'); 

 

      -выводим данные в таблицу

  stringgrid1.Cells[0,1]:=floattostr(roundto(xm,-2));

  stringgrid1.Cells[1,1]:=floattostr(roundto(ym,-2));

  stringgrid1.Cells[2,1]:=floattostr(roundto(vx,-2));

  stringgrid1.Cells[3,1]:=floattostr(roundto(vy,-2));

  stringgrid1.Cells[4,1]:=floattostr(roundto(v,-2));

  stringgrid1.Cells[5,1]:=floattostr(roundto(ax,-2));

  stringgrid1.Cells[6,1]:=floattostr(roundto(ay,-2));

  stringgrid1.Cells[7,1]:=floattostr(roundto(ap,-2));

  stringgrid1.Cells[8,1]:=floattostr(roundto(at,-2));

  stringgrid1.Cells[9,1]:=floattostr(roundto(an,-2));

  stringgrid1.Cells[10,1]:=floattostr(roundto(q,-2));

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end; 

end.

 

Заключение

     В ходе выполнения работы изучен метод математического моделирования. Средствами интегрированной среды разработки Delphi 7 была создана программа, реализующая решение задачи на определение кинематических характеристик движения. Модель, зависящая от входного параметра − времени, представлена в виде графика и таблицы. Основными компонентами программы являются TStringGrid, TChart.

       Считаю, что цель работы достигнута.  

Литература

  1. Шеннон Р. Имитационное моделирование систем – искусство и наука: Пер.с англ. — М.: Мир, 1978. — 610 с.
  2. Блехман И. И., Мышкис А. Д., Пановко Н. Г. Прикладная математика: Предмет, логика, особенности подходов. С примерами из механики: Учебное пособие. — 3-е изд., испр. и доп. — М.: УРСС, 2006. — 376 с.
  3. Введение в математическое моделирование. Учебное пособие. Под ред. П. В. Трусова. — М.: Логос, 2004.
  4. Жуков А. Изучаем Delphi. — СПб.:Питер, 2001. —352 с.
  5. Комашинская Т.С. Информатика. Часть 1. Учебное пособие — Уссурийск: Издательство УГПИ, 2007. — 96 с.

 

Приложение.

Исходный  код программы.

unit curs;

interface 

uses

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

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

  ArrowCha, Grids, math; 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Chart1: TChart;

    Series1: TFastLineSeries;

    Series2: TBubbleSeries;

    Edit1: TEdit;

    Label1: TLabel;

    Series3: TArrowSeries;

    StringGrid1: TStringGrid;

    Label2: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    Label14: TLabel;

    Label15: TLabel;

    Label16: TLabel;

    Label17: TLabel;

    Label18: TLabel;

    Label19: TLabel;

    Label20: TLabel;

    Label21: TLabel;

    Label22: TLabel;

    Label23: TLabel;

    Label24: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject); 

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  a,b,h,x,t,xm,ym,vx,vy,v,ax,ay,ap,at,an,q: real;

  a1,b1,c1,d1,x1,y1,r1: real;

  a2,b2,c2,d2,x2,y2,r2: real;

  a3,b3,c3,d3,x3,y3,r3: real;

  m,i: integer;

  y: array[1..200] of real; 

implementation 

{$R *.dfm} 

procedure TForm1.FormCreate(Sender: TObject);

begin

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

  stringgrid1.Cells[1,0]:='y';

  stringgrid1.Cells[2,0]:='Vx';

  stringgrid1.Cells[3,0]:='Vy';

  stringgrid1.Cells[4,0]:='V';

  stringgrid1.Cells[5,0]:='Ax';

  stringgrid1.Cells[6,0]:='Ay';

  stringgrid1.Cells[7,0]:='A';

  stringgrid1.Cells[8,0]:='At';

  stringgrid1.Cells[9,0]:='An';

  stringgrid1.Cells[10,0]:='q';

end; 

procedure TForm1.Button1Click(Sender: TObject);

function f(x: real): real;

begin

  f:=x*x-1;

end; 

begin

  series1.Clear;

  series2.Clear;

  series3.Clear;

  a:= -3.5;

  b:= 3.5;

  h:= 0.1;

  t:=StrToFloat(edit1.text);

  xm:= 4*t; ym:= f(xm);

  vx:= 4; vy:= 32*t;

  v:= sqrt(vx*vx+vy*vy);

  ax:= 0; ay:= 32;

  ap:= sqrt(ax*ax+ay*ay);

  at:= (vx*ax+vy*ay)/v;

  an:= sqrt(ap*ap-at*at);

  q:= v*v/an;

  x:= a;

  while x<=b do

  begin

    series1.AddXY(x,f(x));

    x:=x+h;

  end; 

  a1:=1+4*xm*xm;

  b1:=-(6*xm+4*xm*xm*xm+4*xm*ym);

  c1:=xm*xm+xm*xm*xm*xm+2*xm+1+2*xm*xm*ym+2*ym+ym*ym-(at/10)*(at/10);

  d1:=b1*b1-4*a1*c1;

  x1:=(-b1+sqrt(d1))/(2*a1);

  y1:=xm*xm-1+2*xm*(x1-xm); 

  a2:=1;

  b2:=-2*xm-1/(2*xm);

  c2:=xm*xm+0.25-(an/10)*(an/10);

  d2:=b2*b2-4*a2*c2;

  x2:=(-b2-sqrt(d2))/(2*a2);

  y2:=ym-x2/(2*xm)+0.5; 

  a3:=1;

  b3:=-2*ym;

  c3:=ym*ym-(ap/10)*(ap/10);

  d3:=b3*b3-4*a3*c3;

  y3:=(-b3+sqrt(d3))/(2*a3);

  x3:=xm; 

  series2.AddBubble(xm,ym,0.1);                                                        // M

  series3.AddArrow(xm,ym,xm+vx/4,ym,'',clred);                            // Vx

  series2.AddBubble(xm+vx/4-0.5,ym-0.3,0,'Vx');

  series3.AddArrow(xm+vx/4,ym,xm+vx/4,ym+vy/4,'',$000080FF);    // Vy

  series2.AddBubble(xm+vx/4+0.2,ym+vy/8,0,'Vy');

  series3.AddArrow(xm,ym,xm+vx/4,ym+vy/4,'',clGreen);           // V

  series2.AddBubble(xm+vx/4-0.4,ym+vy/4-0.2,0,'V');

  series3.AddArrow(xm,ym,x1,y1,'',clYellow);                                 // at

  series2.AddBubble(xm+(x1-xm)/2+0.2,ym+(y1-ym)/2,0,'At');

  series3.AddArrow(xm,ym,x2,y2,'',clPurple);                                // an

  series2.AddBubble(xm+(x2-xm)/2,ym+(y2-ym)/2,0,'An');         

  series3.AddArrow(xm,ym,x3,y3,'',clBlue);                                      //ap

  series2.AddBubble(xm+(x3-xm)/2-0.15,ym+(y3-ym)/2,0,'A'); 

  stringgrid1.Cells[0,1]:=floattostr(roundto(xm,-2));

  stringgrid1.Cells[1,1]:=floattostr(roundto(ym,-2));

  stringgrid1.Cells[2,1]:=floattostr(roundto(vx,-2));

  stringgrid1.Cells[3,1]:=floattostr(roundto(vy,-2));

  stringgrid1.Cells[4,1]:=floattostr(roundto(v,-2));

  stringgrid1.Cells[5,1]:=floattostr(roundto(ax,-2));

  stringgrid1.Cells[6,1]:=floattostr(roundto(ay,-2));

  stringgrid1.Cells[7,1]:=floattostr(roundto(ap,-2));

  stringgrid1.Cells[8,1]:=floattostr(roundto(at,-2));

  stringgrid1.Cells[9,1]:=floattostr(roundto(an,-2));

  stringgrid1.Cells[10,1]:=floattostr(roundto(q,-2)); 

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end; 

end.

Информация о работе Математическое моделирование физических процессов