Python Resources
General
This website has a great set of cheat sheets for general Python knowledge.
Numpy also has a great Numpy for Matlab users section which compares common MATLAB commands to their equivalent expressions in Numpy.
Matplotlib has a tutorial on their pyplot
plotting system here. Their syntax is generally the same as MATLAB's plotting syntax. but you prepend plt.
to most commands. For example, a basic matplotlib plot looks like:
import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.ylabel('some numbers') plt.show()
Last but not least, the official Python docs should be your go-to for Python questions if the cheatsheets above aren't sufficient.
DSP
Scipy's signal processing library documentation can be found here.
A brief cheatsheet
Conditionals
a = 5 b = 5 c = 8 if a == b or b != c: # ...
Loops
for i in range(10): # i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 for i in range(5, 10): # i = 5, 6, 7, 8, 9 j = 10 while j >= 0: # ... j -= 1 while True: # ...
Python Arrays
a = [1, 2, 3, 4, 5] # a[0] == 1 # a[1] == 2 # ... # a[-1] == a[N - 1] == 5 # a[-2] == a[N - 2] == 4 b = [] b.append(6) b.append(7) b.append(8) # len(b) == 3 # b[0] == 6
Function definitions
def yourNewFunction(requiredArg1, requiredArg2, optionalArg3=defaultValue): # ... return 0
Numpy arrays
import numpy as np # Numpy arrays are quicker than python arrays (actually called lists) # because they are preallocated. This means that a.append() does # not work for numpy arrays. a = np.array([1, 2, 3, 4, 5]) # array access is the same # a[0] == 1 # ... b = np.zeros(5) # b.shape == (5, ) # This is a numpy vector of length 5 c = np.ones(5, 2) # c.shape == (5, 2) # This is a numpy array with 5 rows and two columns
Plotting
import matplotlib.pyplot as plt t = np.array([i for i in range(100)]) x = np.cos(t) plt.figure() plt.plot(t, x) plt.xlabel('index') plt.ylabel('x') plt.title('A random plot') plt.show()
File reading/writing
import numpy as np # For CSV read specifically filename = 'csv_sample.csv' data = np.genfromtxt(filename, delimiter=',') # For general file read with open(filename, 'r') as f: data = f.readlines() # For general file write with open(filename, 'w') as f: f.write('Hello world!') # Using "with" automatically handles opening/closing file descriptors