1.matlab代码的序号是从1开始计数的,而python是从0开始的。
2.python矩阵外的符号是 [],而matlab是()。
3.当matlab定义一个一维的数组A后,转置是A’
python是A.T:重要的是,如果是matlab,定义一维数组后,如WF1 = [-2,-3,-5,4,5,6,8],转置后结果为七行一列;然而,如果是python定义的一维数组,转置后仍为一维数组。所以,定义的时候注意定义为[1,n]。
import numpy as np
a = np.zeros(5)
b = np.zeros([1, 5])
print(a.T)
print(b.T)
4.matlab的filter函数对应的是python的lfilter,也可以是filtfilt函数,但是区别是后者不会有时域延迟。
matlab:带通滤波截至频率0.4和4Hz,采样率125Hz。
[b,a] = butter(4, [0.4 4]/(125/2),‘bandpass’);
PPG1 = filter(b,a,PPG1);
[b, a] = signal.butter(4, [0.4 * 2 / 125,
4 * 2 / 125], 'bandpass')
PPG1 = scipy.signal.lfilter(b, a, PPG1)
5.还有 matlab: std、linspace、[m,n] = max(N):m是最大值,n是最大值对应的位置、angle、mean-----------python: np.std、np.linspace、np.argmax 、np.angle、np.mean
6.matlab:[1,2,3,4,5] = 1:5
python: list(range(1,6)) = [1,2,3,4,5]
7.数组赋值给另外一个数组记得要 list
a = list(b),不然a和b是联动的。