slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Програмски пакет МАТНЕМАТ I СА PowerPoint Presentation
Download Presentation
Програмски пакет МАТНЕМАТ I СА

Loading in 2 Seconds...

play fullscreen
1 / 36

Програмски пакет МАТНЕМАТ I СА - PowerPoint PPT Presentation


  • 154 Views
  • Uploaded on

Ментор д р Марко Петковић. Ученик Марко Стевановић. Програмски пакет МАТНЕМАТ I СА. И симулација кретања тела у гравитационом пољу Земље. 1. Увод.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Програмски пакет МАТНЕМАТ I СА' - dunne


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Ментор

др Марко Петковић

Ученик

Марко Стевановић

Програмски пакет МАТНЕМАТIСА

И симулација кретања тела у гравитационом пољу Земље

slide2
1. Увод
  • MATHEMATICA је програмски пакет за математичке и научне примене. Поред тога користи се у инжењерству, техничким наукама, економији и образовању.
  • MATHEMATICA је посебно погодна за следеће намене:
    • обрада нумеричких података,
    • способност симболичког процесирања,
    • систем за графичко приказивање података и функција.
  • Историја овог програмског пакета почиње крајем 80-их година прошлог века, када је Стивен Волфрам (Stephen Wolfram)конструисао SMP (Simbolic Manipulation Program), први систем модерне компјутерске алгебре.
slide3

Од почетка 1980-их година па до данас MATHEMATICA је трпела знатне измене и побољшања, која се тичу лакшег и ефикаснијег рада са што већим бројем објеката који се јављају у природним и техничким наукама.

  • Данас је актуелна седма верзија која поседује хиљаде уграђених функција које олакшавају рад при разним израчунавањима.
  • Захваљујући изузетној практичности, корисници овог пакета се налазе на свим континентима, укључују сва годишта и обухватају најразличитије врсте занимања, попут уметника, композитора, лингвиста, адвоката, као и многе хобисте из свих сфера друштвеног живота.
2 mathematica
2. Програмски пакет MATHEMATICA
  • Главни део софтвера MATHEMATICA је Kernel (језгро) које служи за обављање математичких операција и ради независно од рачунара на коме је инсталиран.
  • Корисник поставља своје захтеве у радном простору (Notebook – свеска, белешка). Радни простор је структуирани интерактивни документ који се састоји од низа ћелија (Cells).
  • Pад са MATHEMATICA-ом одвија се у оквиру дијалога. У линије са ознаком In[n] корисник укуцава свој текст, а језгро даје повратну информацију у линијама са ознаком Out[n].
slide5
Аритметичке операције
  • Пакет MATHEMATICA омогућава рад са рационалним, реалним и комплексним бројевима и поседује све тригонометријске, експоненцијалне, логаритамске и друге функције које се често користе у математици и осталим природним наукама.

In[1] := (3 + 4)*9 - 12/3

Out[1] = 59

In[2] := 2^100

Out[2] = 1267650600228229401496703205376

In[3] := N[Pi, 20]

Out[3] = 3.14159265358979324

In[4] := Sum[x^2, {x, 1, 7}]

Out[4] = 140

slide6
Манипулација алгебарским изразима
  • Једна од главних могућности MATHEMATICA-е је манипу- лација симболичких израза.

In[5] := Izraz1 = (2y+4x^2)^2(x-y)^2

Out[5] = (x-y)2 (4x2 +2y)2

In[6] := Expand[Izraz1]

Out[6] = 16x6 +16x4 y–32x5 y+4x2 y2 –32x3 y2 +16x4 y2 –8xy3 +16x2 y3 +4y4

In[7] := Coefficient[Izraz1, x^2]

Out[7] = 4y2 +16y3

In[8] := Izraz1 /. {x → 4, y → 3}

Out[8] = 4900

slide7
Диференцирање и интеграција
  • Симболичко диференцирање је једна од основних симболичких операција у MATHEMATICA-и. Израчунавање интерграла je супротан поступак од диференцирања и много је компли- кованије јер не постоје нека генерална правила.

In[9] :=D[Exp[x^2 Sin[x]], x]

Out[9] =

In[10] :=D[Sqrt[x^2 - 3], {x, 3}]

Out[10] =

slide8

In[11] := Integrate[Sin[2x], x]

Out[11] =

In[12] := Integrate[(3x^2+2x-3)/(x^4-1), x]

Out[12] =

In[13] := Integrate[Sin[x], {x, 0, Pi}]

Out[13] = 2

In[14] := Integrate[x y/(1+x^2), {x, 1, 2}, {y, 0, 1}]

Out[14] =

2d 3d
2D и 3D графика
  • Као што је већ раније речено, један од најважнијих делова програмског пакета MATHEMATICA је систем за графичко приказивање података и функција.

In[15] := Plot[x/(x^2-1), {x, -3, 3}]

Out[15] =

slide11
Решавање алгебарских једначина
  • Аналитичко решавање једначина степена не већег од четири:

In[17] := Solve[x^3 + x^2 + 2x == 0, x]

Out[17] = {{x → 0}, {x → }, {x → }}

  • Нумеричко решавање једначина:

In[18] := NSolve[x^5 + x^2 - 1 == 0, x]

Out[18] = {{x → -0.869278 - 0.388269i},

{x → -0.869278 + 0.388269i},

{x → 0.464912 - 1.07147i},

{x → 0.464912 + 1.07147i},

{x → 0.808731}}

In[19] := FindRoot[x^5 + x^2 – 1 == 0, {x, 1}]

Out[19] = {x → 0.808731}

slide12
Решавање диференцијалнихједначина
  • Диференцијална једначина је једначина која изражава везу између независне променљиве, непознате функције и њених извода:
  • Многе диференцијалне једначине представљају математичке моделе разноврсних процеса у природи, друштву, друштвеним и техничким наукама, и као такве имају многобројне примене.
  • MATHEMATICA омогућава решавање оваквих једначина на симболички и на нумерички начин.
slide13

Аналитичко решeње диференцијалне једначине првог реда y’(x) = y(x)/5 + sin(x):

In[20] := sol1 = DSolve[{y'[x] == y[x]/5 + Sin[x],

y[0]==0}, y, x]

Out[20] = {{y → Function[{x}, ]}}

  • Нумеричко решење исте диференцијалне једначине:

In[21] := sol2 = NDSolve[{y'[x] == y[x]/5 + Sin[x],

y[0]==0}, y, {x, 0, 13}]

Out[21] = {{y → InterpolatingFunction[{{0., 13.}}, <>]}}

  • Када се добијена решења прикажу графички на први поглед се чини да између њих не постоје никакве разлике, међутим ако се на графику прикажу релативне грешке видеће се да ипак постоји разлика.
slide14

Аналитичко и нумеричко

решење

Релативна грешка

нумеричког решења

у односу на аналитичко

slide15
3. Кретање тела у хомогеном гравитационом пољу Земље
  • Да би се моделирала нека физичка појава или процес потребно је, поред познавања основа програмирања и програмског језика, и одређено познавање теоријских појмова који су неопходни за решавање одговарајућег проблема.
  • Гравитација - једна од четири основних сила у Универзуму, дугог је домета и делује привлачно између свака два тела која имају масу.
  • Гравитационо поље- материјални посредник преко којег се преноси гравитационо деловање са једног на друго тело; то је векторска физичка величина и представља јачину грави- тационе силе која делује на тело јединичне масе које се налази у датој тачки гравитационог поља.
slide16

Свако масивно тело, укључујући и Земљу, окружено је вла- ститим гравитационим пољем које делује привлачно на сва тела које се у њему налазе.

  • Јачина гравитационог поља је бројно једнака убрзању које оно саопштава свим телима под његовим утицајем. Узимајући вредности за масу земље M = 5,98 × 1024kg и полупречник r=6371 km, добија се вредност којa се обележава са g и износи 9,81 m s-2.
  • Све ово значи да сва тела близу Земљине површине, при паду, добијају убрзање једнако g, које је усмерено ка површини тј. средишту Земље.
slide17
Једначине кретања тела у хомогеном гравитационом пољу
  • На основу другог Њутновог закона и познавања облика силе отпора ваздуха, могуће је написати диференцијалну једначину кретања тела у једној димензији.
  • Знак минус означава да је х оса оријентисана у супротном смеру у односу на смер деловања гравитационе силе, а b je линеарни коефицијент отпора средине (при брзинама мањим од 24 m/s).
  • Дата диференцијална једначина лако се решава, а познавањем почетних услова добија се једначина кретања.
slide18

Кретање тела у две димензије може се лако проанализирати, ако се занемaри утицај отпора средине. Решавањем две дифе- ренцијалне једначине другог реда (посебно за x и посебно за y осу):

  • Познавањем почетних услова, може се елиминисањем времена из једначина кретања по x и по y оси добити зависност y(x)која, заправо, представља путању по којој се тело креће.
  • Ако је почетна брзина тела v0, a αугао између вектора почетне брзине и x осе, онда је путања тела дата изразом:
  • vxo = v0сos α, a vyo = v0ѕin α (пројекције почетне брзине на x и на y осу).
slide19

Важне величине које карактеришу коси хитац су домет (xmax), максимална висина (ymax) и време лета (T).

  • Међутим, реалистичан модел подразумева силу отпора средине тј. отпор ваздуха. Овај ефекат може се апроксимирати силом отпора која зависи од квадрата брзине:
  • vјебрзина као скаларна величина (интензитет), а vбрзина као вектор. Коефицијент отпора средине је k и за ваздух износи 5,2×10-3m-1.
  • Сада у диференцијлане једначине кретања треба уврстити и силу отпора.
slide20

Дакле, диференцијалне једначине које описују коси хитац имају следећи облик:

  • Нажалост, ове једначине се не могу решити аналитички, тако да се морају упослити нумеричке методе. Решавање ових дифе- ренцијалних јeдначина, и уопште моделирање косог хица и других врста кретања у гравитационом пољу Земље обавиће се уз помоћ програмског пакета MATHEMATICA.
slide21
4. Симулација кретања тела у гравитационом пољу Земље
  • Слободан пад
    • Мало тело, близу Земљине површине, пада са висине hса почетном брзином v0.
    • Ако се х оса усмери навише дифе- ренцијалне једнaчине су:
    • Дата једначина се решава при- меном функције DSolve.
slide22

In[1] := sol =

DSolve[{x'[t]== v[t], v'[t]== -g-(b/m)v[t],

x[0]== h, v[0]== v0}, {x[t], y[t]}, t]//Expand

Out[1] = {{x[t] → ,

v[t] → }}

In[2] := sol[[1, 2]] /. bt/m → Infinity

Out[2] = v[t] →

  • Коначна брзина се добија из услова bt/m >>1.
  • Одавде се јасно види да свако тело има своју коначну брзину, која зависи од масе и његових димензија, што јасно показује фактор b.
slide23

Брзина као функција од времена може се одредити у систему где је јединица за време m/b, а јединица за брзину gm/b.

In[3] := v[t_] = sol[[1, 2, 2]]//.{gm/b → 1, b/m → 1}

Out[3] =

In[4] := Plot[{Abs[v[t]]/.v0 → -3, Abs[v[t]]/.v0 → -0.6,

Abs[v[t]]/.v0 → 0, 1}, {t, 0, 3.5},

PlotStyle → {{}, {}, {}, {Dashing[{0.02}]}},

PlotRange → All, Frame → True,

FrameLabel → {"t (m/b)", "v (gm/b)"}

LabelStyle → {FontSize → 14}]

  • Сада се цртају графици v(t) за три карактеристичне вредности почетне брзине тела: v0=–3, v0=–0,6 и v0=0. Брзине су негативне због усмерености х осе.
slide24

Out[4] =

  • Две доње криве показују да се брзина тела повећава, и да после извесног времена достиже максималну вре- дност. Горња крива показује да тело које пада, заправо успорава, јер је почетна брзина већа од коначне.
slide25

Коси хитац

    • У тренутку t = 0 тело масе m, приближно сферног облика (лопта), налази се у координатном почетку. Вектор почетне брзине v0 заклапа са хоризонталом угао α.
    • Најпре је потребно дефинисати почетне параметре и оне величине косог хица када је k = 0.

In[5] := g=9.81; k=0.0052; v0=40; α=60;

vx0=v0 Cos[Pi α/180];

vy0=v0 Sin[Pi α/180];

Xmax=2vx0 vy0/g; (* domet za k=0 *)

Ymax=vy0^2/(2g); (* maksimalna visina za k=0 *)

T=2vy0/g; (* vreme leta za k=0 *)

slide26

За решавање диференцијалних једначина које описују коси хитац (треће поглавље) биће употребљена функција NDSlove.

In[6] := sol = NDSolve[{

x’’[t]== -k*Sqrt[x’[t]^2 + y’[t]^2] x’[t],

y’’[t]== -g-k*Sqrt[x’[t]^2 + y’[t]^2] y’[t],

x’[0]== vx0, x[0]== 0, y’[0]== vy0, y[0]== 0}

,{x, y}, {t, 0, T}];

solX = sol[[1, 1, 2]]; (* x(t) *)

solY = sol[[1, 2, 2]]; (* y(t) *)

Tk = FindRoot[solY[t]== 0, {t, T}][[1, 2]];

(* vreme leta za k ≠ 0 *)

  • Како је позната путања косог хица без отпора средине, може се упоредити са реалистичном путањом, која је добијена нумеричким поступком. Ове две криве биће приказане на истом графику функцијом Show.
slide27

In[7] := Show[

Plot[vy0/vx0 x - 1/2 g/vx0^2 x^2, {x, 0, Xmax},

AxesLabel → {"x(m)", "y(m)"}],

ParametricPlot[{solX[t], solY[t]}, {t, 0, Tk},

PlotStyle → Dashed,

AxesLabel → {"x(m)", "y(m)"}]]

Out[7] =

slide28

Јасно је да домет косог хица зависи од угла избацивања (α). Када је отпор ваздуха једнак нули угао при коме је домет максималан износи 45°, међутим у реалном случају је тај угао нешто мањи.

  • Одређивање тог угла обавиће се, дефинисањем функције зависности домета од угла. Команда Module означава да се у функцији користе локалне променљиве, и то само онда када се позове дата функција.

In[8] := Domet[α_, v0_] := Module[

{g=9.81, k=0.0052, vx0, vy0, T, sol,

solX, solY, Tk}, (* lokalne promenljive *)

vx0=v0 Cos[Pi α/180];

vy0=v0 Sin[Pi α/180];

T=2vy0/g;

slide29

sol = NDSolve[{

x’’[t]== -k*Sqrt[x’[t]^2 + y’[t]^2] x’[t],

y’’[t]== -g-k*Sqrt[x’[t]^2 + y’[t]^2] y’[t],

x’[0]== vx0, x[0]== 0, y’[0]== vy0, y[0]== 0}

,{x, y}, {t, 0, T}];

solX = sol[[1, 1, 2]];

solY = sol[[1, 2, 2]];

Tk = FindRoot[solY[t]==0, {t, T}][[1, 2]];

Return[solX[Tk]] (* izlazna vrednost funkcije *)

]

In[9] := Domet[50, 80]

Out[9] = 203.026

  • Овако дефинисана функција враћа вредност за различите параметре које корисник унесе као аргументе.
slide30

Као и свака друга функција, и ова се може представити графички. Биће приказана зависност домета од угла за v0 = 70 m/s.

In[10] := Plot[Domet[α, 70], {α, 0, 90},

AxesLabel → {"α(°)", "Domet(m)"},

Ticks → {{0, 15, 30, 45, 60, 75, 90}}]

Out[10] =

slide31

Налажење тачне вредности угла постиже се следећим алгоритмом:

In[11] := L = Table[{α, Domet[α, 70]}, {α, 30, 45, 0.01}];

Do[

If[

L[[i, 2]] == Max[L], imax=i]

,{i, Length[L]}]

Print[L[[imax]]]

Out[11] = {37.84, 193.092}

  • Дакле, када је почетна брзина 70 m/s, највећи домет од 193,092 метара, остварује се при углу од 37,84°. Ако се исти поступак понови за друге вредности брзине, може се закључти да се при већим почетним брзинама оптимални угао смањује и све више удаљава од 45°.
slide32
Визуализација косог хица
  • За визуализацију косог хица потребна је функција Manipulate. То је функција за интерактивну визуализацију и најчешће има следећи облик: Manipulate[expr, {u, umin, umax}]. Њен рад се заснива на томе да генерише и приказује различите верзије објекта expr, мењањем параметра u.
  • У случају косог хица, објекат који се мења је график путање и положај тачке која представља тело. За сваку појединачну вредност параметра t(време) генерише се нови график и нови положај тела. Све ово омогућава да се низ статичних слика претвори у анимацију која симулира кретање тела у гравитационом пољу.
slide33

Сада се дефинише функција Projektil[v0_, α_], која за различите вредности угла и почетне брзине даје интерактивну визуализацију косог хица.

In[12] := Projektil[v0_, α_ ] := Module[

{g=9.81, k=0.0052, vx0, vy0, Xmax, Ymax,

T, sol, solX, solY, Tk},

vx0=v0 Cos[Pi α/180];

vy0=v0 Sin[Pi α/180];

Xmax=2vx0 vy0/g;

Ymax=vy0^2/(2g);

T=2vy0/g;

sol = NDSolve[{

x’’[t]==

-k*Sqrt[x’[t]^2 + y’[t]^2] x’[t],

y’’[t]==

-g-k*Sqrt[x’[t]^2 + y’[t]^2] y’[t],

x’[0]== vx0, x[0]== 0,

y’[0]== vy0, y[0]== 0}

,{x, y}, {t, 0, T}];

solX = sol[[1, 1, 2]];

solY = sol[[1, 2, 2]];

Tk = FindRoot[solY[t]==0, {t, T}][[1, 2]];

Return[

Manipulate[

If[i==0,

Plot[vy0/vx0 x - 1/2 g/vx0^2 x^2,

{x,0,Xmax},

PlotRange → {{0, 1.03Xmax}, {0, 1.03Ymax}},

AspectRatio → Ymax/Xmax,

AxesLabel→{"x(m)","y(m)"},

Prolog → {Blue, PointSize[0.02],

Point[{0, 0}]}],

Show[

Plot[vy0/vx0 x - 1/2 g/vx0^2 x^2,

{x, 0, Xmax},

PlotRange → {{0, 1.03Xmax},{0, 1.03Ymax}},

AspectRatio → Ymax/Xmax,

AxesLabel → {"x(m)", "y(m)"}],

ParametricPlot[{solX[t], solY[t]},

{t, 0, i},

PlotRange → {{0, 1.03Xmax},{0, 1.03Ymax}},

AspectRatio → Ymax/Xmax,

PlotStyle → Dashed,

AxesLabel → {"x(m)", "y(m)"}],

Graphics[{Blue, PointSize[0.02],

Point[{solX[i], solY[i]}]}]]

]

,{{i, 0, "Vreme"}, 0, Tk}]

]

]

slide34

Сада се позивањем ове функције за вредности v0=40 m/s и α=60° добија тражена симулација.

In[13] := Projektil[40, 60]

Out[13] =

slide35
5. Закључак
  • У овом раду представљене су само неке од могућности про- грамског пакета MATHEMATICA и његова примена на решавање одређених проблема из физике. Све описане функције чине само један делић огромног, али компактног система свестране намене.
  • Проблеми из механике (математичко и сферно клатно), електромагнетизма (електрично поље и линије сила), квантне физике (зрачење црног тела, таласне функције, потенцијалне јаме итд.) и још многи други обимнији и комплекснији проблеми релативно брзо се решавају применом овог софтвера.
  • Дакле, програмски пакет MATHEMATICA је незаобилазан алат свих оних који се баве математиком, физиком и осталим природним и техничким наукама. Све у свему, MATHEMATICA умногоме олакшава рад у науци и чина га занимљивијим.