PRZETWARZANIE SYGNAŁÓW
Laboratorium #2

Python i PyLab

M. Kociński, P. Strumiłło, K. Kudryński, A. Borowska-Terka

Zakład Elektroniki Medycznej
Instytut Elektroniki


In [1]:
import funkcje_do_lab2 as f2
f2.hide()
Out[1]:
W celu przejrzystości instrukcji, kod Ipython notebook jest domyślnie ukryty. Aby zobaczyć/ukryć kod, kliknij tutaj.

CEL: Zapoznanie z podstawowymi sposobami wyświetlania danych oraz definiowanie własnych funkcji w Pythonie.

ZADANIA:
1. W tym ćwiczeniu użyjemy różnych metod i funkcji z pakietów NumPy i PyLab.
2. W Edytorze Canopy wpisz serię komend:

dt=0.5

t=np.arange(0,10,dt) # time scale
a=9.81 # acceleration
v=at # velocity
s=(a
t**2)/2. # distance

plt.plot(t,v,'.') #plot distance in discrete time instances

plt.title('Prędkość')
plt.xlabel('t[s]')
plt.ylabel('v[m/s]')

plt.figure(2)
plt.plot (t,s,'.r') #plot distance in discrete time instances
plt.title('Odległość')
plt.xlabel('t[s]')
plt.ylabel('s[m]')

plt.figure(3),plt.plot (t,s,label='odległość') # interpolated distance
plt.legend()
plt.grid()
plt.show()


OCZEKIWANE WYNIKI:

In [2]:
%pylab inline
pylab.rcParams['figure.figsize'] = (14.0, 7.0)
f2.plotting()
Populating the interactive namespace from numpy and matplotlib

Używając ikony [dyskietki] zapisz (w katalogu D:/Biomed2014_pl) otrzymane wykresy w formacie jpg.

3.Zapoznaj się z komendą subplot (użyj polecenia: subplot? lub help(subplot)):

figure()
subplot(2,1,1), plot (t,v) # górny wykres
subplot(2,1,2), plot (t,s) # dolny wykres


OCZEKIWANE WYNIKI:

In [3]:
figure()
subplot(2,1,1), plot (f2.t,f2.v)	# upper plot
subplot(2,1,2), plot (f2.t,f2.s)	# lower plot
Out[3]:
(<matplotlib.axes.AxesSubplot at 0x7545ef0>,
 [<matplotlib.lines.Line2D at 0x7567a50>])

4.Utwórz funkcję motion(a,t), która zwraca końcową wartość prędkości v oraz odległość s obiektu poruszającego się ruchem jednostajnie przyspieszonym z przyspieszeniem a, po czasie t. Zapisz funkcję w pliku o nazwie my_functions.py, gdzie będziesz zapisywać wszystkie utworzone podczas ćwiczenia funkcje. Teraz możesz importować twoją bibliotekę z funkcjami używając komendy:

from my_functions import *

Przetestuj utworzoną funkcję dla:
a = 5, t = 10,
a = 1, t = 5.

OCZEKIWANE WYNIKI:

In [4]:
from my_functions import *
print 'Wynik funkcji motion(a,t) dla a = 5, t = 10:', motion(5,10)
print 'Wynik funkcji motion(a,t) dla a = 1, t = 5:', motion(1,5)
Wynik funkcji motion(a,t) dla a = 5, t = 10: (50, 250.0)
Wynik funkcji motion(a,t) dla a = 1, t = 5: (5, 12.5)

5.Napisz i przetestuj funkcję my_sign(x) która zwraca informację czy podana zmienna x jest dodatnia, ujemna czy równa zero. Funkcja ma wyświetlać odpowiednią informację, np. ‘liczba dodatnia’, ‘liczba ujemna’, ‘zero’.

OCZEKIWANE WYNIKI:

In [5]:
print 'Wynik funkcji my_sign(x) dla x = -10:', my_sign(-10)
print 'Wynik funkcji my_sign(x) dla x = 0:', my_sign(0)
print 'Wynik funkcji my_sign(x) dla x = 10:', my_sign(10)
Wynik funkcji my_sign(x) dla x = -10: liczba ujemna
Wynik funkcji my_sign(x) dla x = 0: zero
Wynik funkcji my_sign(x) dla x = 10: liczba dodatnia

6.Napisz i przetestuj funkcję my_stat_1d(x) która zwraca minimalną, średnią oraz maksymalną wartość wektora x = [1, -2, 4].

OCZEKIWANE WYNIKI:

In [6]:
x=np.array([1, -2, 4])
print 'Wynik funkcji my_stat_1d(x) dla x = [1, -2, 4]:', my_stat_1d(x)
Wynik funkcji my_stat_1d(x) dla x = [1, -2, 4]: (-2, 1.0, 4)

7.Możesz importować pojedynczą funkcję z pliku my_functions.py na dwa możliwe sposoby:
a. from my_functions import my_stat_1d
b. from my_functions import my_stat_1d as myst

Jeżeli użyjesz metody a. aby wywołać funkcję my_stat_1d function wykonaj polecenie: my_stat_1d(x)
Jeżeli użyjesz metody b. aby wywołać funkcję my_stat_1d function wykonaj polecenie: myst(x)

In [6]: