Informatyka

Python plus Matplotlib i NumPy - rysowanie przebiegu sinusoidalnego


Wykres przebiegu sinusoidalnego

import matplotlib.pyplot as plt
import numpy as np

f = 50                                  # czestotliwosc przebiegów [Hz]
w = 2 * np.pi * f                       # pulsacja przebiegow  [rad/s] 
A = 10                                  # amplituda przebiegu [V] 
fpn = np.pi/2                           # faza poczatkowa przebiegu [rad]
czasPocz = 0                            # czas poczatkowy przebiegu [s]
czasKonc = 0.1                          # czas koncowy przebiegu [s]
k = 0.00001                             # odstep miedzy kolejnymi wartosciami czasu [s]
t = np.arange(czasPocz, czasKonc, k)    # ciag liczb odpowiadajacych wartosciom czasu [s]
y = A * np.sin(w * t + fpn)             # przebieg sinusoidalny [V]

plt.plot(t, y, color="r")               # rysowanie przebiegu napiecia 

plt.xlabel('Czas [s]')                  # opis osi poziomej 
plt.ylabel('Amplituda [V]')             # opis osi pionowej 
plt.grid(True)                          # wlaczenie wyswietlenia siatki na wykresie

plt.title('Przebieg sinusoidalny\n')
plt.show()


sinus01p


Wykresy dwóch przebiegów sinusoidalnych na jednym rysunku

import matplotlib.pyplot as plt
import numpy as np

f = 50                                  # czestotliwosc przebiegów [Hz]
w = 2 * np.pi * f                       # pulsacja przebiegow  [rad/s] 
Um = 10                                 # amplituda napiecia [V] 
Im = 7                                  # amplituda pradu [A] 
fpn = np.pi/2                           # faza poczatkowa napiecia [rad]
fpp = -np.pi/6                          # faza poczatkowa pradu [rad]
czasPocz = 0                            # czas poczatkowy przebiegu [s]
czasKonc = 0.1                          # czas koncowy przebiegu [s]
k = 0.00001                             # odstep miedzy kolejnymi wartosciami czasu [s]
t = np.arange(czasPocz, czasKonc, k)    # ciag liczb odpowiadajacych wartosciom czasu [s]
u = Um * np.sin(w * t + fpn)            # przebieg napiecia sinusoidalnego [V]
i = Im * np.sin(w * t + fpp)            # przebieg pradu sinusoidalnego [A]

plt.plot(t, u, color="r")               # rysowanie przebiegu napiecia 
plt.plot(t, i, color="g")               # rysowanie przebiegu prądu
plt.xlabel('Czas [s]')                  # opis osi poziomej 
plt.ylabel('Amplituda [V]')             # opis osi pionowej 
plt.grid(True)                          # wlaczenie wyswietlenia siatki na wykresie

plt.title('Jan Kowalski - Praca nr 2 - Rysowanie przebiegow sinusoidalnych\n')
plt.show()


sinus02p


Dwa wykresy w jednym oknie graficznym

import matplotlib.pyplot as plt
import numpy as np

f = 50                                  # czestotliwosc przebiegów [Hz]
w = 2 * np.pi * f                       # pulsacja przebiegow  [rad/s] 
Um = 10                                 # amplituda napiecia [V] 
Im = 7                                  # amplituda pradu [A] 
fpn = np.pi/2                           # faza poczatkowa napiecia [rad]
fpp = -np.pi/6                          # faza poczatkowa pradu [rad]
czasPocz = 0                            # czas poczatkowy przebiegu [s]
czasKonc = 0.1                          # czas koncowy przebiegu [s]
k = 0.00001                             # odstep miedzy kolejnymi wartosciami czasu [s]
t = np.arange(czasPocz, czasKonc, k)    # ciag liczb odpowiadajacych wartosciom czasu [s]
u = Um * np.sin(w * t + fpn)            # przebieg napiecia sinusoidalnego [V]
i = Im * np.sin(w * t + fpp)            # przebieg pradu sinusoidalnego [A]

plt.subplot(2,1,1)
plt.title('Jan Kowalski - Praca nr 2 - Rysowanie przebiegow sinusoidalnych\n')
plt.plot(t, u, color="r")               # rysowanie przebiegu napiecia
plt.ylabel('Amplituda napięcia [V]')    # opis osi pionowej
plt.grid(True)                          # wlaczenie wyswietlenia siatki na wykresie

plt.subplot(2,1,2)
plt.plot(t, i, color="g")               # rysowanie przebiegu prądu
plt.xlabel('Czas [s]')                  # opis osi poziomej 
plt.ylabel('Amplituda prądu [A]')       # opis osi pionowej 
plt.grid(True)                          # wlaczenie wyswietlenia siatki na wykresie

plt.show()


sinus22p