Datoteka:Mplwp ballistic trajectories velocities.svg

Izvor: testwiki
Prijeđi na navigaciju Prijeđi na pretragu
Izvorna datoteka (SVG fajl, nominalno 600 × 400 piksela, veličina fajla: 29 KB)

Ova datoteka je s projekta Wikimedijina ostava i može se upotrebljavati i na drugim projektima. Ispod su prikazane informacije s njene opisne stranice.

Sažetak

Opis
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
Izvor Vlastito djelo
Autor Geek3
SVG genesis
InfoField
 Izvorni kôd ove SVG datoteke je valjan.
 Ova je vektorska slika napravljena programom mplwp.
Izvorni kod
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)

Licenciranje

Ja, vlasnik autorskog prava ovog djela, ovdje ga objavljujem pod sljedećim licencama:
GNU head Dopušteno je umnožavanje, dijeljenje i mijenjanje ovog dokumenta pod uslovima GNU-ove licence za slobodnu dokumentaciju, verzije 1.2 ili bilo koje novije koju objavi Fondacija za slobodni softver; bez nepromjenljivih odjeljaka i bez tekstova na naslovnoj i zadnjoj strani. Tekst licence možete pročitati ovdje.
w:bs:Creative Commons
pripisivanje
Ova datoteka je licencirana pod Creative Commons Attribution 3.0 neportiranom licencom.
Slobodno smijete:
  • dijeliti – umnožavati, raspodjeljivati i prenositi djelo
  • prerađivati – prilagođavati djelo
Pod sljedećim uslovima:
  • pripisivanje – Morate pripisati odgovarajuće autorske zasluge, osigurati vezu do licence i naznačiti jesu li napravljene izmjene. To možete uraditi na bilo koji razumni način, ali ne tako da se sugerira da davalac licence odobrava Vas ili Vašu upotrebu njegovog djela.
Izaberite licencu po vašem izboru.

Također pogledajte

Opisi

Dodajte objašnjenje u jednom redu što predstavlja ova datoteka

Predmeti pokazani na ovoj datoteci

prikazuje

Ovo svojstvo ima vrijednost, ali nije poznato

28. septembra 2014

Historija datoteke

Kliknite na datum/vrijeme da biste vidjeli tadašnju verziju datoteke.

Datum/vrijemeMinijaturaDimenzijeKorisnikKomentar
aktualna28. septembra 2014. u 15:00Minijatura verzije (28. septembra 2014. u 15:00)600 × 400 (29 KB)wikimediacommons>Geek3ballistic_trajectories_velocities plot by Geek3

Sljedećih 3 stranica koriste ovu datoteku: