Skrått kast

I fysikkbøkene i videregående skole finner man formlene

[Maple Math]

[Maple Math] g [Maple Math]

der [Maple Math] f.eks. er begynnelsesfarten for et prosjektil som skytes ut, og som danner vinkelen [Maple Math] med bakken ( [Maple Math] ).

Vi kan også finne disse ligningene ved å løse differensialligningene

[Maple Math] , [Maple Math]

[Maple Math]

der [Maple Math] er gitt ved

[Maple Math] , [Maple Math]

Her viser jeg først hvordan det kan gjøres " manuelt ", omtrent som man gjør på tavla.

> lign1:=diff(x(t),t) = v[0]*cos(theta);

[Maple Math]

> map(Int,lign1,t=0..T); #% betyr siste kommenado

[Maple Math]

> value(%); #% betyr siste kommando. value beregner integralet

[Maple Math]

> subs(x(0)=0,T=t,%); #putter inn x(0)=0 og T=t inn i utrykket over

[Maple Math]

Direkte beregning

> dsolve({lign1,x(0)=0},x(t)); #dsolve løser differensialligninger

[Maple Math]

Så tar vi for oss beregning av [Maple Math] .

> lign2:=diff(v[y](t),t) = -g;

[Maple Math]

> map(Int,lign2,t=0..T);

[Maple Math]

> value(%);

[Maple Math]

> subs(v[y](0)=v[0]*sin(theta),T=t,%);

[Maple Math]

> lign3:=v[y](t)=solve(%,v[y](t));

[Maple Math]

Så finner vi [Maple Math] ved:

> lign4:=diff(y(t),t) = v[y](t);

[Maple Math]

> subs(lign3,lign4);

[Maple Math]

Integrasjon gir:

> map(Int,%,t=0..T);

[Maple Math]

> value(%);

[Maple Math]

> subs(y(0)=0,T=t,%);

[Maple Math]

Direkte beregning

> dsolve({lign2,v[y](0)=v[0]*sin(theta)},v[y](t));

[Maple Math]

> dsolve({diff(y(t),t)=v[0]*sin(theta)-g*t,y(0)=0},y(t));

[Maple Math]

Vi kunne også ha løst hele systemet av differensialliginger

> sys:=lign1, lign2,lign4;

[Maple Math]

i en operasjon.

NB! Siden [Maple Math] er en variabel og vi også har brukt [Maple Math] som en indeks i [Maple Math] , vil Maple få problemer med å skille disse [Maple Math] -ene fra hverandre. Derfor bytter jeg ut [Maple Math] med [Maple Math] .

> sys := diff(x(t),t) = v[0]*cos(theta), diff(vy(t),t) = -g, diff(y(t),t) = vy(t);

[Maple Math]

> dsolve({sys,x(0)=0,y(0)=0,vy(0)=v[0]*sin(theta)},{x(t),y(t),vy(t)});

[Maple Math]

Plotting

Vi plotter [Maple Math] og [Maple Math] som funksjoner av [Maple Math] i samme koordinatsytem. La oss anta at [Maple Math] [Maple Math] , [Maple Math] [Maple Math] og [Maple Math] .

> xt:=25*cos(Pi/4)*t: yt:=25*sin(Pi/4)*t-1/2*9.8*t^2: # : hindrer utskrift

> plot([xt,yt],t=0..4,color=[red,blue],title=`Skrått kast, x=x(t): rød; y=y(t): blå`);

[Maple Plot]

Vi kan også eliminere [Maple Math] og fremstille [Maple Math] grafisk.

> tk:=solve(x=xt,t);

[Maple Math]

> subs(t=tk,y=yt);

[Maple Math]

> plot(x-0.01568*x^2,x=0..70,labels=[`x`,`y(x)`],title=`Skrått kast`);

[Maple Plot]

Kast under forskjellige vinkler kan animeres.
Da finner vi først
[Maple Math] av ligningene [Maple Math] og [Maple Math] . For å slippe den manuelle elimineringen, lar jeg Maple gjøre jobben direkte.

> readlib(eliminate):

> eliminate({x = 25*cos(theta)*t,y = 25*sin(theta)*t-9.8*t^2/2 },{y,t});

[Maple Math]

Her er [Maple Math] gitt i radianer. Med input i grader definerer vi yk = y ved:

> yk:=-.1600000000e-3*x*(-6250.*sin(theta/180*Pi)*cos(theta/180*Pi)+49.*x)/(cos(theta/180*Pi)^2);

[Maple Math]

> with(plots):

> animate(yk,x=0..65,theta=0..70, color=red,view=[0..70,0..40],frames=20,scaling=constrained, title=`Prosjektilbaner`);

[Maple Plot]

Her varierer [Maple Math] i intervallet [Maple Math] og [Maple Math] i intervallet [Maple Math] .