Fail:Mplwp ballistic trajectories resistances.svg

Selle lehekülje sisule puudub teiste keelte tugi.
Klõps ikoonil viib faili leheküljele Wikimedia Commonsis.
Allikas: Vikipeedia

Algfail(SVG-fail, algsuurus 600 × 400 pikslit, faili suurus: 36 KB)

Lühikirjeldus

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

The parameters are:

  • , ,
  • The drag coefficient takes the following values: , , , ,
The differential equation is solved numerically using Scipy odeint.
Kuupäev
Allikas Üleslaadija oma töö
Autor Geek3
SVG genesis
InfoField
 
The SVG code is valid.
 
See vektorkujutis on valmistatud rakendusega mplwp, the Matplotlib extension for Wikipedia plots
Lähtekood
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_resistances.svg'
fig = mplwp.fig_standard(mpl)

xlim = 0,0.9; fig.gca().set_xlim(xlim)
ylim = 0,0.9*355/515.; fig.gca().set_ylim(ylim)

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
v0 = 1.0
alpha0 = pi/3.
for k in [0.0, 0.5, 1.5, 3, 6]:
    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'$k=\,{0}$'.format(k))

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

Litsents

Autoriõiguse omanikuna avaldan selle teose järgmiste litsentside all:
GNU head Luba on antud selle dokumendi kopeerimiseks, avaldamiseks ja/või muutmiseks GNU Vaba Dokumentatsiooni Litsentsi versiooni 1.2 või hilisema Vaba Tarkvara Fondi avaldatud versiooni tingimuste alusel; muutumatute osadeta, esikaane tekstideta ja tagakaane tekstideta. Sellest loast on lisatud koopia leheküljel pealkirjaga "GNU Free Documentation License".
w:et:Creative Commons
omistamine
See fail kuulub jurisdiktsiooniga sidumata Creative Commonsi litsentsi "Autorile viitamine 3.0" alla.
Tohid:
  • jagada – teost kopeerida, levitada ja edastada
  • kohandada – valmistada muudetud teoseid
Järgmistel tingimustel:
  • omistamine – Pead materjali sobival viisil autorile omistama, tooma ära litsentsi lingi ja märkima ära, kas on tehtud muudatusi. Sobib, kui teed seda mõistlikul viisil, kuid seejuures ei tohi jääda muljet, et litsentsiandja tõstab esile sind või seda, et sina materjali kasutad.
Sa võid valida endale sobiva litsentsi.

Vaata ka

Pealdised

Lisa üherealine seletus sellest, mida fail esitab

Selles failis kujutatud üksused

kujutab

28. september 2014

Faili ajalugu

Klõpsa kuupäeva ja kellaaega, et näha sel ajahetkel kasutusel olnud failiversiooni.

Kuupäev/kellaaegPisipiltMõõtmedKasutajaKommentaar
viimane28. september 2014, kell 16:55Pisipilt versioonist seisuga 28. september 2014, kell 16:55600 × 400 (36 KB)Geek3ballistic_trajectories_resistances plot by Geek3

Seda faili kasutab järgmine lehekülg:

Metaandmed