250 likes | 597 Vues
PROGRAMSKI PAKET MATHEMATICA I PRIMENE U MEHANICI. Učenik: Nikola Jon čić. Mentor: dr Marko Petković. 1. Uvod. Mathematica je programski paket i programski jezik namenjen matematičarima, fizičarima, inžinjerima i svima koji se bave sličnom problematikom. Može se koristiti kao:
E N D
PROGRAMSKI PAKET MATHEMATICA I PRIMENE U MEHANICI Učenik:NikolaJončić Mentor:dr Marko Petković
1. Uvod • Mathematica je programski paket i programski jezik namenjen matematičarima, fizičarima, inžinjerima i svima koji se bave sličnom problematikom. • Može se koristiti kao: • numerički i simbolički kalkulator; • sistem za grafičko prikazivanje podataka i funkcija; • programski jezik visokog nivoa • Prva verzija je plasirana 23. juna 1988. a danas je aktuelna verzija 7. • Za razliku od elektronskih kalkulatora i klasičnih programskih jezika poput Fortrana i Basic-a, koji imaju oko 30 ugradjenih matematičkih operacija, Mathematica ima preko 750 operacija.
Slika 1. Programsko okruzenje programa MATHEMATICA
2. Osnovne operacijeprograma MATHEMATICA • Aritmetičke operacije: In[1] := (2 + 7)*9 Out[1] = 81 In[2] := N[E,18] Out[2] = 2.71828182845904524 In[3] := Sqrt[16] Out[3] = 4
In[4]:= ((x + y)^2 + 7 (3 + x) (x + y))^4 Out[4]= (7 (3 + x) (x + y) + (x + y)^2)^4 In[5] := Expand[%] Out[5] =
Grafika: Dve površi četvrtog reda možemo nacrtati sledećom naredbom: In[6] := ContourPlot3D[ x^4 + y^4 + z^4 - (x^2 + y^2 + z^2)^2 + 3 (x^2 + y^2 + z^2) == 3, {x, -3, 3}, {y, -3, 3}, {z, -3, 3}, Mesh -> None]
Diferenciranje i integracija: In[7] := D[Exp[x^2Sin[x]], x] Out[7] = In[8] := Integrate[(x^2 + 1)/(x^4 + 1), x] Out[8] =
3. Ispitivanje toka i crtanje grafika funkcija pomoću In[1] := f[x_]:= • Parnost i neparnost In[2] := FullSimplify[f[x] - f[-x]] === 0 Out[2] = False In[3] := FullSimplify[f[x] + f[x]] === 0 Out[3] = False • Nule In[4] := Solve[f[x] == 0, x] Out[4] = {{x -> 0}, {x -> 2}}
Asimptote: Kose: In[5] := k = Limit[f[x]/x, x -> -Infinity] Out[5] = -1 In[6] := l = Limit[f[x] - k*x, x -> -Infinity] Out[6] = 2/3 Prava y= -x + 2/3 je kosa asimptota sa leve strane. Analogno dobijamo i sa desne strane (kada x->+∞).
Ekstremumi Lokalne minimume i maksimume dobijamo iz prvog izvoda: In[7] := D[f[x], x] Out[7] = (I) Za x<0 je brojilac veći od nule, a imenilac manji od nule pa je f’(x)<0. Drugim rečima, funkcija f je strogo opadajuća na intervalu (-∞,0). (II) Za x (0,4/3) su i brojilac i imenilac veći od nule, pa je f’(x)>0. Drugim rečima, funkcija f je strogo rastuća na intervalu (0,4/3). (III) Za x>4/3 je brojilac manji od nule, a imenilac veći od nule pa je f’(x)<0. Drugim rečima, funkcija f je strogo opadajuća na intervalu (4/3,+∞).
Grafik Plot[{f[x],-x+2/3},{x,-3,3}]
4. Numerička izračunavanja • Algebarskih jednačina: In[8] := FindRoot[x^5+x^2-1==0,{x,1}] Out[8] = {x->0.808731} • Diferencijalnih jednačina: In[9] := resenje = NDSolve[{y'[x] == y[x]/5 + Sin[x], y[0] == 0}, y, {x, 0, 13}] Out[9] = {{y -> InterpolatingFunction[{{0., 13.}}, <>]}}
Grafik funkcije rešenja za vrednosti x od 0 do 13: In[42] := Plot[y[x] /. resenje, {x, 0, 13}]
5. Primena na rešavanje problema matematičkog klatna • Matematičko klatno Matematičko klatno predstavlja telo zanemarljivih dimenzija i značajne mase okačeno o neistegljivu nit zanemarljive mase, a značajne dužine.
Samo klatno se kreće pod uticajem gravitacione sile mg (direktno utiče samo komponenta F=mgsinθ), dok druga komponenta vrši zatezanje niti. • Važi sledeći uslov jednakosti momenata sila: • Jednačina koja opisuje kretanje klatna:
Rešavanje jednačine kretanja u slučaju velikog otklona klatna g=9.81; l=1; th0=Pi/12; sol=NDSolve[{y''[t]==-g/l*Sin[y[t]],y[0]==th0,y'[0]==0}, y,{t,0,2}]; f=sol[[1,1,2]] Grafik zavisnosti otklona ugla od vremena (th[t]) za vremenski period od 0 do 5 sekundi i početni ugao od 0 do Pi/2 sa korakom Pi/10
Izvodjenje izraza za period matematičkog klatna u funkciji od ugla otklona Kinetička energija tela u svakom trenutku kretanja jednaka je razlici potencijalnih energija tela na početku kretanja i u tom trenutku:
Integral ćemo izračunati numerički kao funkciju dužine klatna, gravitacionog ubrzanja i početnog ugla: T[l_, g_, th0_] := 4*Sqrt[l/(2 g)]*NIntegrate[Sqrt[1/(Cos[x] - Cos[th0])], {x, 0, th0}] • Period za klatno dužine 1m, gravitacionog ubrzanja 9.81m/s2, i početnog ugla u rasponu od 0.01 do Pi/2 sa korakom 0.01: In[1] := Table[{th0, T[1, 9.81, th0]}, {th0, 0.01, Pi/2, 0.01}] Out[1] = {{0.01, 2.00608}, {0.02, 2.00612}, {0.03, 2.00618}, ... {1.55, 2.35672}, {1.56, 2.36204}, {1.57, 2.36741}}
Grafik zavisnosti perioda matematičkog klatna od ugla otklona
Prigušeno oscilovanje matematičkog klatna Opisuje se sledećom diferencijalnom jednačinom: Napravićemo funkciju s[i_,j_], koja će nam rešavati predhodnu jednačinu u zavisnosti od početnog ugla i brzine: s[i_,j_]:=NDSolve[{Sin[x[t]],0.5x'[t]+x''[t]==0, x[0]==i,x'[0]==j},x[t],{t,0,15}];
Kretanje klatna iz maksimalnog položaja bez početne brzine In[2] := sols1=Table[s[{-1,- 0.5,0.5,1}],0][[1,1,2]],{i,1,4}] Out[2] = {InterpolatingFunction[{{0.,15.}},<>][t], InterpolatingFunction[{{0.,15.}},<>][t], InterpolatingFunction[{{0.,15.}},<>][t], InterpolatingFunction[{{0.,15.}},<>][t]},
Grafik Plot[Evaluate[sols1], {t, 0, 15}, PlotRange->1]
Kretanje iz ravnotežnog položaja sa početnom brzinom: sols2=Table[s[0,{-2,- 1,1,2}][[1,1,2]],{i,1,4}]; Plot[Evaluate[sols2],{t,0,15}, PlotRange->1.6]
6. Zaključak • Pokazali smo kako se može izračunati zavisnost ugla otklona klatna od vremena kako za obično, tako i za prigušeno klatno sa velikim otklonom, kao i period u funkciji od početnog ugla • Na sličan način se mogu rešavati i mnogi drugi problemi u fizici – npr. klatno na opruzi, dvostruko, n-tostruko klatno, električna kola sa nelinearnim elementima...