Soubor:Mplwp ballistic trajectories velocities.svg

Obsah stránky není podporován v jiných jazycích.
Z Wikipedie, otevřené encyklopedie

Původní soubor(soubor SVG, nominální rozměr: 600 × 400 pixelů, velikost souboru: 29 KB)

Popis

Popis
English: Plot of a ballistic trajectory with air resistance. The trajectory follows the differential equation with initial conditions .

The parameters are:

  • , ,
  • The initial velocity takes the values , , , ,
The differential equation is solved numerically using Scipy odeint.
Datum
Zdroj Vlastní dílo
Autor Geek3
SVG vývoj
InfoField
 
Zdrojový kód tohoto SVG je validní.
 
Tento vektorový obrázek byl vytvořen programem mplwp, the Matplotlib extension for Wikipedia plots
Zdrojový kód
InfoField

mplwp source code

The plot was generated with mplwp 1.0
#!/usr/bin/python
# -*- coding: utf8 -*-

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from math import *

code_website = 'http://commons.wikimedia.org/wiki/User:Geek3/mplwp'
try:
    import mplwp
except ImportError, er:
    print 'ImportError:', er
    print 'You need to download mplwp.py from', code_website
    exit(1)

name = 'mplwp_ballistic_trajectories_velocities.svg'
fig = mplwp.fig_standard(mpl)

xlim = 0,2.6; fig.gca().set_xlim(xlim)
ylim = 0,2.6*355/515.; fig.gca().set_ylim(ylim)
fig.gca().xaxis.set_major_locator(mpl.ticker.MultipleLocator(0.4))
fig.gca().yaxis.set_major_locator(mpl.ticker.MultipleLocator(0.4))

from scipy.integrate import odeint
from scipy.optimize import brentq
def ballistic(g, k, xy0, v0, alpha0, tt):
    # use a four-dimensional vector function vec = [x, y, vx, vy]
    def dif(vec, t):
        v = sqrt(vec[2]**2 + vec[3]**2)
        return [vec[2], vec[3], -k*v*vec[2], -g -k*v*vec[3]]
    
    # solve the differential equation numerically
    vec = odeint(dif, [xy0[0], xy0[1], v0*cos(alpha0), v0*sin(alpha0)], tt)
    return vec[:,0], vec[:,1] # return x(tt) and y(tt)

g = 1.0
k = 1.0
alpha0 = pi/4
for v0 in np.linspace(0, 10, 6)[1:]:
    t1 = brentq(lambda t: ballistic(g,k,[0,0],v0,alpha0,[0,t])[1][1],0.1,5)
    t = np.linspace(0, t1, 5001)
    x, y = ballistic(g, k, [0, 0], v0, alpha0, t)
    while len(y) > 1 and y[-2] <= 0.0: x = x[:-1]; y = y[:-1]
    plt.plot(x, y,
        label=ur'$v_0=\,{:.0f}$'.format(v0))

mpl.rc('legend', borderaxespad=1.0)
plt.legend(loc='upper left').get_frame().set_alpha(0.9)
plt.savefig(name)
mplwp.postprocess(name)

Licence

Já, držitel autorských práv k tomuto dílu, ho tímto zveřejňuji za podmínek následujících licencí:
GNU head Tento dokument smí být kopírován, šířen nebo upravován podle podmínek Svobodné licence GNU pro dokumenty verze 1.2 nebo libovolné vyšší verze publikované nadací Free Software Foundation. Dokument nemá neměnné části ani texty na předním či zadním přebalu. Kopie textu licence je k dispozici v oddíle nazvaném GNU Free Documentation License.
w:cs:Creative Commons
uveďte autora
Tento soubor podléhá licenci Creative Commons Uveďte autora 3.0 Unported
Dílo smíte:
  • šířit – kopírovat, distribuovat a sdělovat veřejnosti
  • upravovat – pozměňovat, doplňovat, využívat celé nebo částečně v jiných dílech
Za těchto podmínek:
  • uveďte autora – Máte povinnost uvést autorství, poskytnout odkaz na licenci a uvést, pokud jste provedli změny. Toho můžete docílit jakýmkoli rozumným způsobem, avšak ne způsobem naznačujícím, že by poskytovatel licence schvaloval nebo podporoval vás nebo vaše užití díla.
Můžete si zvolit libovolnou z těchto licencí.

Viz též

Popisky

Přidejte jednořádkové vysvětlení, co tento soubor představuje

Položky vyobrazené v tomto souboru

zobrazuje

Historie souboru

Kliknutím na datum a čas se zobrazí tehdejší verze souboru.

Datum a časNáhledRozměryUživatelKomentář
současná28. 9. 2014, 16:00Náhled verze z 28. 9. 2014, 16:00600 × 400 (29 KB)Geek3ballistic_trajectories_velocities plot by Geek3

Tento soubor používá následující stránka:

Globální využití souboru

Tento soubor využívají následující wiki:

Metadata