Gymnasieopgave: Kastet.

>    restart;interface(warnlevel=0):with(plots):with(plottools):with(linalg):

Spørgsmål 1.

Vi har givet

>    v0:=14.0;alpha:=evalf(60.0*Pi/180.0);g:=9.81;

v0 := 14.0

alpha := 1.047197551

g := 9.81

Tiden t1 hvor strålen rammer facaden x1= 9 meter borte:

>    x1:=9.0;

x1 := 9.0

>    t1:=x1/(v0*cos(alpha));

t1 := 1.285714285

y1 koordianten er:

>    y0:=1.5;

y0 := 1.5

>    y1:=y0+v0*sin(alpha)*t1-1/2*g*t1^2;

y1 := 8.980191960

>    y:=x->1.5+tan(alpha)*x-9.81/2.0/v0^2/cos(alpha)^2*x^2;

y := x -> 1.5+tan(alpha)*x-9.81/2.0/(v0^2)/(cos(alpha)^2)*x^2

>    hus:=polygon([[9.0,0.0], [15.0,0.0], [15.0,9.0],[9.0,9.0],[9.0,0.0]], color=grey, linestyle=1, thickness=2):

>    p:=plot(y(x),x=0..9,color=blue,thickness=3):

>    display(p,hus,scaling=constrained,view=[-0.2..16.50,0.0..11.0]);

[Maple Plot]

Spørgsmål 2.

Hastigheden af vandet er nu

>    v0:=18.0;

v0 := 18.0

>    eval(y(x));

1.5+1.732050807*x-.6055555551e-1*x^2

Strålen bliver nu

>    p:=plot(y(x),x=0..30,color=blue,thickness=3):

>    display(p,hus,scaling=constrained,view=[-0.2..30.0,0.0..15.0]);

[Maple Plot]

AK, vi skyder over huset! Hvad gør vi ???

Ballistiske kurver

>    restart:interface(warnlevel=0):with(plots):with(linalg):

Newtons 2. lov opstilles i projektion på x- og y-retningen:

>    lign:={diff(x(t),t$2)=-c/m*diff(x(t),t)*sqrt(diff(x(t),t)^2+diff(y(t),t)^2),diff(y(t),t$2)=-g-c/m*diff(y(t),t)*sqrt(diff(x(t),t)^2+diff(y(t),t)^2)};

lign := {diff(x(t),`$`(t,2)) = -c/m*diff(x(t),t)*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2), diff(y(t),`$`(t,2)) = -g-c/m*diff(y(t),t)*(diff(x(t),t)^2+diff(y(t),t)^2)^(1/2)}

Begyndelsesbetingelserne

>    begynd:={x(0)=0.0,D(x)(0)=v0*cos(theta),y(0)=0.0,D(y)(0)=v0*sin(theta)};

begynd := {x(0) = 0., D(x)(0) = v0*cos(theta), y(0) = 0., D(y)(0) = v0*sin(theta)}

Talværdier:

>    m:=0.180;g:=9.81;c:=evalf(0.5/8*1.2*Pi*0.008^2);v0:=828.0;dt:=0.001;alpha:=0.125;theta:=Pi/180.0*alpha;

m := .180

g := 9.81

c := .1507964474e-4

v0 := 828.0

dt := .1e-2

alpha := .125

theta := .6944444445e-3*Pi

Numerisk løsning af differentialligningssystmet med en 4. ordens Runge-Kutta metode:

>    f:=dsolve(lign union begynd,{x(t),y(t)},numeric);

f := proc (x_rkf45) local res, data, vars, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if _En...

Er tiden t = 1.0 bliver løsningen:

>    f(1.0);

[t = 1.0, x(t) = 800.542894500080479, diff(x(t),t) = 774.287880472569782, y(t) = -3.05065943762820568, diff(y(t),t) = -7.80258566420425836]

Vi har altså brug for det 2. og den 4. element i løsningen:

>    f(1)[2];f(1)[4];

x(t) = 800.542894500080479

y(t) = -3.05065943762820568

For at plotte løsningen gemmes koordinaterne i en vektor med 1000 pladser

>    xy:=vector(1000);

xy := array(1 .. 1000,[])

>    for i from 1 to 1000 do xy[i]:=[rhs(f(i*dt)[2]),rhs(f(i*dt)[4])] end do:

vi ser kun på tisdintervallet 100 dt  = 400* 0,001 sekund = 0,4 sek.

>    s:=[xy[u]$u=1..400]:

>    p1:=plot([s,[v0*cos(theta)*t,-1/2*g*t^2+v0*sin(theta)*t,t=0..400*dt]]):

>    ss:=textplot([[250,0.02,"x i meter"],[10,0.16,"y i meter"]],align={ABOVE,RIGHT}):

>    display(p1,ss);

[Maple Plot]

Hastigheden i afstanden 300 meter findes for t = 0,36675

>    f(0.36675);

[t = .36675, x(t) = 299.869891323953708, diff(x(t),t) = 807.456281339023008, y(t) = -.441311361002484637e-4, diff(y(t),t) = -1.79158937239054628]
[t = .36675, x(t) = 299.869891323953708, diff(x(t),t) = 807.456281339023008, y(t) = -.441311361002484637e-4, diff(y(t),t) = -1.79158937239054628]

>   

>