""" Created on Wed Apr 24 09:58:55 2019 @author: hanme """ from pylab import * import matplotlib as mpl mpl.rcParams['figure.dpi'] = 150 #Fysiske konstanter som skal brukes i modellen g=9.81 #tyngdeakselerasjon i [m/s^2] m=0.3 #masse til objektet i fritt fall [kg] k=0.2 #luftmotstandskoeffisient i [Ns^2/m^2] #Bestemmer hvor lang tid målingen skal vare og hvor mange steg det skal tas N=10000 #antall intervaller tid=2 #antall sekunder dt=tid/(N) #tidssteg mellom hver måling #Lager arrays med N elementer for akselerasjon, fart, posisjon og tid, setter alt innhold til 0 a=zeros(N) #akselerasjon i m/s^2 v=zeros(N) #fart i m/s s=zeros(N) #posisjon i m t=zeros(N) #tid i sekunder #Initialbetingelser v[0]=0 #startfart 0 m/s i det objektet begynner å falle nedover, første verdi i v s[0]=0 #setter posisjon lik 0 ved start, første verdi i s t[0]=0 #setter tid lik 0 ved start, første verdi i t # fyller listene, finner akselerasjon ut i fra Newtons 2. lov : ma=G-kv^2 (tyngde og luftmotstand i motsatt retning) for i in range(N-1): a[i]=g-(k/m)*v[i]**2 v[i+1]=v[i]+a[i]*dt #fart er lik 'forrige fart' + fartsendring pga akselerasjon s[i+1]=s[i]+v[i]*dt #posisjon er lik 'forrige posisjon' + posisjonsendring pga fart t[i+1]=t[i]+dt #tid er lik 'forrige tid' + tidssteg #Plotting av akselerasjon subplot(3,1,1) #alle linjer med subplot kan fjernes for å få de tre plottene i samme vindu plot(t,a,'b-') #b- står for blått plot med ---- som markering title('Akselerasjon') xlabel('tid/s') ylabel('akselerasjon/(m/s/s)') grid() #plotting av fart subplot(3,1,2) plot(t,v,'g--') #go gir grønt plot med -- som markering title('Fart') xlabel('tid/s') ylabel('fart/(m/s)') grid() #plotting av posisjon, bevegelse fra start subplot(3,1,3) plot(t,s,'r--') #r. gir rødt plot med -- som markering title('Posisjon') xlabel('tid/s') ylabel('posisjon/(m)') grid()