Tykillä ampuminen 1

Heittoliikkeeseen kuuluu keskeisinä tekijöinä maan vetovoima sekä ilmanvastuksen aiheuttama nopeudelle vastakkaissuuntainen voima. Näitä voimia sovelletaan myös mallinnettaessa tykin ammuksen liikerataa.

Yksinkertaisimmassa mallissa jätetään ilmanvastus huomiotta. Tällöin ammukseen vaikuttaa lähtöhetken jälkeen vain maan vetovoima \(G\&_ = m\ g\&_\), missä \(g\&_\) on maan vetovoiman aiheuttama kiihtyvyys ja m ammuksen massa. Kun kiihtyvyys lausutaan derivaatan avulla \(a\&_\)=\(\(\(d\^2\) r\&_\)\/\(d\ t\^2\)\), saa yleinen liikeyhtälö \(F\&_ = m\ a\&_\) tällöin muodon

\(\(\(m \(\( d\^2\) r\&_\)\/\(d\ t\^2\) = 
      m  g\&_\)\(,\)\)\)

mistä massa m voidaan supistaa pois.

Tarkastellaan seuraavaa ongelmaa: Mikä on oikea ampumiskulma, kun 25 metrin korkeudella sijaitsevalta tykkilavetilta ammutaan 10 kg kranaatti nopeudella 500 m/s kohti meren pinnalla olevaa maalia, jonka etäisyys on tasan 10 km?

Jaetaan yllä esitetty toisen kertaluvun differentiaaliyhtälö kahteen eri osayhtälöön, z-suuntaan ja x-suuntaan, ja ratkaistaan yhtälöt. Laskujen aluksi on syytä hävittää mahdollisista aiemmista laskuista jääneet muuttujat.

Remove["Global`*"]

Määritellään differentiaaliyhtälöryhmä  ja sen tuntemattomat muuttujat.

ryhma =  {x''[t] == 
          0,   z''[t]  == - g}

muuttujat = {x[t], z[t]}

Määritellään vakiot ja alkuehto. Ammuksen lähtökulma olkoon θ. Sisällytetään ehtoon sekä ammuksen alkunopeus jaettuna nopeuskomponentteihin että lähtökorkeus.

g = 9.81; m = 10; v0 = 500; 
    alkuehto = {x[0] == 0,  
        z[0] == 25,  x'[0] == v0 Cos[θ],  z'[0] == 
          v0 Sin[θ]}

Ratkaistaan alkuarvoprobleema:

dyrtk =  
      DSolve[Flatten[{ryhma, alkuehto}], muuttujat, t]

Ammuksen rata on paraabeli, jonka parametrimuotoinen esitys on

lentorata =  muuttujat /. First[dyrtk]

Ammuksen kokonaislentoaika ja lähtökulma saadaan ratkaisemalla yhtälöryhmä:

rtk =  
      Solve[lentorata == {10000, 
            0}, {t, θ}]

Vain positiiviset ratkaisut kelpaavat. Mahdollisuuksia on siis kaksi. Näitä vastaavat lentoradat ovat

rata1 =  lentorata /. rtk[[3, 2]]

rata2 =  lentorata /. rtk[[4, 2]]

Sekunneissa ilmoitetut kokonaislentoajat ovat

{aika1, aika2} =  
      t /. {rtk[[3]], rtk[[4]]}

Lähtökulmat ovat radiaaneissa. Asteissa ilmoitettuina ne ovat

{kulma1, 
        kulma2} =  (θ/ Degree) /. {rtk[[3]], 
          rtk[[4]]}

Radoista voidaan piirtää kuvaajat ja yhdistää nämä samaan kuvaan:

kuva1 =  
      ParametricPlot[rata1, {t, 0, aika1}, 
        PlotStyle -> Hue[0.3]]

kuva2 =  
      ParametricPlot[rata2, {t, 0, aika2}, 
        PlotStyle -> Hue[0.9]]

Show[kuva1, kuva2, AspectRatio -> 1]

Tehtäviä

Määritä ampumaetäisyys lähtökulman funktiona. Piirrä funktion kuvaaja. Millä kulmalla saadaan suurin ampumaetäisyys? Mikä tämä etäisyys on? Kauanko ammuksen lento tällöin kestää?

Miten radan lakikorkeus riippuu lähtökulmasta? Entä ampumaetäisyydestä? Piirrä kuvaajat!

SKK 03.05.2001