https jupyter orgtry import matplotlib pyplot as plt
https: //jupyter. org/try import matplotlib. pyplot as plt. plot([1, 2, 3, 4], [1, 4, 9, 16]) plt. show() #miscare 1 D viteza constanta import matplotlib. pyplot as plt x, v, dt=0, 1, 1 ts, xs=[], [] for t in range(4): x+=v*dt ts. append(t) xs. append(x) plt. plot(ts, xs) plt. show() ---------#miscare 1 D acceleratie constanta import matplotlib. pyplot as plt x, v, a, dt=0, 0, 1, 0. 05 ts, xs=[], [] for t in range(10): x+=v*dt v+=a*dt ts. append(t) xs. append(x) plt. plot(ts, xs) plt. show()
#miscare 1 D oscilator armonic amortizat import matplotlib. pyplot as plt km=1 #k/m f=1 x, v, dt=1, 0, 0. 05 ts, xs=[], [] for t in range(300): x+=v*dt v+=(-km*x-f*v)*dt #miscare 1 D oscilator armonic amortizat ts. append(t) import matplotlib. pyplot as plt xs. append(x) import math plt. plot(ts, xs) km=1 #k/m plt. show() f=0. 1 F=0. 2 omega=2*math. pi/(500/4) x, v, dt=1, 0, 0. 05 ts, xs=[], [] for t in range(600): x+=v*dt v+=(-km*x-f*v+F*math. sin(omega*t))*dt ts. append(t) xs. append(x) plt. plot(ts, xs) plt. show() f=1 f=0. 1
#miscare 2 D aruncare sub un unghi se dau vx, vy import matplotlib. pyplot as plt g=-1 x, vx, ax, dt=0, 1, 0, 0. 05 y, vy, ay=0, 1, g xs, ys=[], [] for t in range(40): x+=vx*dt vx+=ax*dt y+=vy*dt vy+=ay*dt xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show() #miscare 2 D aruncare sub un unghi dat import matplotlib. pyplot as plt import math unghi=60 a=unghi*math. pi/180 v=1 g=-1 x, vx, ax, dt=0, v*math. cos(a), 0, 0. 05 y, vy, ay=0, v*math. sin(a), g xs, ys=[], [] for t in range(40): x+=vx*dt vx+=ax*dt y+=vy*dt vy+=ay*dt xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show()
#miscare 2 D circulara import matplotlib. pyplot as plt import math R=5 a=0 omega, dt=2*math. pi/1, 0. 01 xs, ys=[], [] for t in range(90): a+=omega*dt x=R*math. cos(a) y=R*math. sin(a) xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show() #pendul gravitational import matplotlib. pyplot as plt import math R=5 g=1 unghi=60 a=unghi*math. pi/180 omega, dt=0, 0. 1 xs, ys=[], [] ts, unghis=[], [] for t in range(180): a+=omega*dt omega+=(-g*math. sin(a)/R)*dt x=R*math. sin(a) y=-R*math. cos(a) xs. append(x) ys. append(y) ts. append(t) unghis. append(a*180/math. pi) plt. plot(xs, ys) plt. show() plt. plot(ts, unghis)
#miscare 2 D camp central import matplotlib. pyplot as plt import math g. M=10 x, vx, dt=5, 0, 0. 01 y, vy=0, 1 xs, ys=[], [] for t in range(1200): r=math. sqrt(x*x+y*y) ax=-g. M*x/r**3 ay=-g. M*y/r**3 vx+=ax*dt vy+=ay*dt x+=vx*dt y+=vy*dt if t%20==0: xs. append(x) ys. append(y) plt. scatter(xs, ys) #plt. plot(xs, ys) plt. show()
#Lissajous curve import matplotlib. pyplot as plt import math a, b=5, 4 xs, ys=[], [] for t in range(400): x=math. sin(a*t) y=math. cos(b*t) xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show()
#miscare compusa 2 D cicloida import matplotlib. pyplot as plt import math R=1 r=2 omega=2*math. pi/10 v=omega*R vr=omega*r a, x, y, dt=0, 0, R, 0. 05 xs, ys=[], [] for t in range(1200): a+=omega*dt vx=v-vr*math. sin(a) vy=-vr*math. cos(a) x+=vx*dt y+=vy*dt xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show() r=2 R r=R
#miscare compusa 2 D epicicloida import matplotlib. pyplot as plt import math R=1 r=0. 2 omega, omegar=2*math. pi/20, 2*math. pi/1 v, vr=omega*R, omegar*r a, ar, x, y, dt=0, 0, 0, R+r, 0. 05 xs, ys=[], [] for t in range(1200): a+=omega*dt ar+=omegar*dt vx=-v*math. sin(a)-vr*math. sin(ar) vy=v*math. cos(a)+vr*math. cos(ar) x+=vx*dt y+=vy*dt xs. append(x) ys. append(y) plt. plot(xs, ys) plt. show()
- Slides: 8