-
Jenni Rinker authoredJenni Rinker authored
- Comparison of Python and Matlab
- numeric variables | % numeric variables
- repeat which assigns values to array elements |
- arrays are known as "lists" in Python | % array indexes start at 1 in Matlab
- array indexes start at 0 in Python | % indentation is for readability only
- structures are defined by indentation, no 'end' |
- repeat which prints a series of |
- values | for i=0:2:10
- initialize an identity matrix |
- import the numpy library for matrix operations | % common array initializations
- declare and initialize an array, | C = [1, 2, 3]; % or C = [1 2 3];
- known as a list in Python |
- initialize and print an array |
- array name = arange(start,stop,step) | % array name = [start:increment:end];
- print an array element on screen |
- array indexes start at 0 | % array indexes start at 1
- prints 4 using C from above table cell | % prints 4 using C from above table cell
- note square brackets C[1] | % note parentheses C(2)
- declare and initialize an array |
- with fixed interval between values |
- third param is optional and = # points |
- between and including 1st two points | % third param is optional and = # points
- if third param left off, default | % between and including 1st two points
- is 50 points | % if third param left off, default
- initialize a 2D array | % these three examples accomplish the
- print element of 2D array | % array indexes start at 1
- array indexes start at 0 |
- print selected sub array of 2D array |
- print all rows of column 1 of 2D |
- array |
- logical expression |
- if, else structure |
- switch structure |
- Python doesn't have a switch structure | case 1
- any switch structure can be | % call a user-defined function
- written as an if-else structure | myMenuFunc01();
- switch structures may be quicker to | myMenuFunc02();
- read and write for applications such as menus | case 3
- program which calls a user-defined function | % main program and function definition must
- define function, here I chose name myfunc | % must have same name as function name
- call function | ----- LISTING OF FILE myfunc.m ------
- prints 8 for this input |
- matrix multiplication |
- plotting |
Comparison of Python and Matlab
Originally from this page but modified to fix some errors and add more detail.
Python | Matlab
numeric variables | % numeric variables
# are double precision by default | % are double precision by default | a = 5.0 | a = 5.0; |
repeat which assigns values to array elements |
arrays are known as "lists" in Python | % array indexes start at 1 in Matlab
array indexes start at 0 in Python | % indentation is for readability only
structures are defined by indentation, no 'end' |
| for i=1:10
A = [] # initialize array A | A(i) = i; for i in range(1,11): | end A.append(i) | A % display contents of A print(A[i-1]) | |
repeat which prints a series of |
values | for i=0:2:10
| fprintf(' %i \n', i)
for i in range(0,11,2): | end print(i) | |
initialize an identity matrix |
| % MATLAB has built-in functions for
import the numpy library for matrix operations | % common array initializations
|
import numpy as np | B = eye(100); | B = np.identity(3) | |
declare and initialize an array, | C = [1, 2, 3]; % or C = [1 2 3];
known as a list in Python |
|
C = [1, 2, 3] | |
initialize and print an array |
array name = arange(start,stop,step) | % array name = [start:increment:end];
|
import numpy as np | C = np.arange(2,10,2) | C = [2:2:8] % leave off ; to display value print(C) | |
print an array element on screen |
array indexes start at 0 | % array indexes start at 1
|
print(C[1]) | C(2) |
prints 4 using C from above table cell | % prints 4 using C from above table cell
note square brackets C[1] | % note parentheses C(2)
|
declare and initialize an array |
with fixed interval between values |
import numpy as np | C = np.linspace(2,8,4) | C = linspace(2,8,4);
third param is optional and = # points |
between and including 1st two points | % third param is optional and = # points
if third param left off, default | % between and including 1st two points
is 50 points | % if third param left off, default
| % is 100 points
initialize a 2D array | % these three examples accomplish the
| % same thing
|
D = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] | D = [1 2 3; 4 5 6; 7 8 9]; | D = [1:3; 4:6; 7:9]; | D = [1 2 3 | 4 5 6 | 7 8 9];
print element of 2D array | % array indexes start at 1
array indexes start at 0 |
print(D[1][1]) # row 2, column 2 | # prints 5 using D from above table cell | D(2,2) % row 2, column 2 | % prints 5 using D from above table cell
print selected sub array of 2D array |
# e.g., print rows 1 to 2 of column 1 | | D(1:2,1) % rows 1 to 2 of column 1 for i in range(0,2): | print(D[i][0]) | |
print all rows of column 1 of 2D |
array |
|
import numpy as np | D(:,1) % all rows, column 1 D = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) | Dsub = D[0:,0:1] | print(Dsub) | |
logical expression |
|
a = 1 | a = 1 b = 2 | b = 2; if a == 1 or b == 3: | if a == 1 || b == 3 print('a = 2 or b = 3') | fprintf('a = 2 or b = 3 \n'); | end | # if structure | | if a == 1 and b != 3: | if a == 1 && b ~= 3 print('a=1 and b not 3'); | fprintf('a=1 and b not 3 \n'); print('OK?') | fprintf('OK? \n'); | end |
if, else structure |
| a ~= 1
if a != 1: | fprintf('a is not 1 \n') print('a is not 1') | elseif b ~= 3 elif b != 3: | fprintf('b is not 3 \n') print('b is not 3') | else else: | fprintf('huh? \n') print('huh?') | end |
switch structure |
| switch menuChoice
Python doesn't have a switch structure | case 1
| % can do any actions in a case, e.g.,
any switch structure can be | % call a user-defined function
written as an if-else structure | myMenuFunc01();
| case 2
switch structures may be quicker to | myMenuFunc02();
read and write for applications such as menus | case 3
| myMenuFunc03();
| otherwise
| fprintf('invalid selection, try again')
| end
|
program which calls a user-defined function | % main program and function definition must
| % be in separate files and function file
define function, here I chose name myfunc | % must have same name as function name
|
def myfunc(x,y): | z = myfunc(2,3) return x**y # ** is exponentiation operator | % prints 8 for this input |
call function | ----- LISTING OF FILE myfunc.m ------
|
z = myfunc(2,3) | function returnValue = myfunc(x,y) print(z) | returnValue = x^y; % ^ is exponentiation operator
prints 8 for this input |
| % function is a keyword
| % returnValue is arbitrary variable name
|
matrix multiplication |
|
import numpy as np | | A = [2,3; 3,5]; A = np.matrix( ((2,3), (3, 5)) ) | B = [1,2; 5,-1]; B = np.matrix( ((1,2), (5, -1)) ) | | C = A * B C = A * B | print(C) | |
plotting |
|
import numpy as np | import matplotlib.pyplot as plt | x = np.linspace(0,2np.pi,100) | x = linspace(0,2pi,100); y = np.sin(x) | y = sin(x); plt.plot(x,y) | plot(x,y) plt.ylabel('sin(x)') | ylabel('sin(x)') plt.xlabel('x') | xlabel('x') plt.show() |