Codelearn

分享Python,C/C++相关的技术文章, 海洋饼干叔叔@重庆大学

  阅读本部分内容需要傅里叶变换以及数字滤波器方面的相关知识。

  本书随书代码CH10目录下有一个ecgsignal.dat文件,其中存储了一段人体心电信号(electrocardiogram,简称ECG)。该文件以4字节浮点数格式存储样本,单位为μV,采样总数等于文件尺寸/ 4,采样频率2000样本/秒。需要说明的是,这个心电信号不是标准的医用心电信号,作者在一台其他用途的医用电生理设备上,用左手拿着正电极,右手拿着负电极,简单记录了上述信号。作者故意没有涂抹降低皮肤电极阻抗的导电膏,以便引入“工频干扰”,即由交流市电网络辐射进入信号采集系统的频率为50Hz的周期性干扰波。

SciPy以NumPy为基础,提供了众多数学、科学、工程计算用的模块,包括但不限于:线性代数、常微分方程求解、信号处理、图像处理、稀疏矩阵处理。

本章适合那些有较好高等数学、线性代数、概率论基础的工科学生或从业者阅读。其他读者可以跳过,不影响后续章节。为减轻“数学恐惧症”患者的恐惧,作者尽量选择相对容易的“数学”案例来进行解读。

本小节求解Lorenz微分方程:
在“数学之美”那一章里,为方便读者理解,Lorenz吸引子轨迹的计算采用了比较“原始”的方法。采用integrate模块中的odeint()函数可以更加方便地完成计算。Lorenz吸引子由下述三个微分方程定义:
$$
\frac{dx}{dt}=\sigma(y-x), \quad \frac{dy}{dt}=x(\rho-z)-y,\quad \frac{dz}{dt}=xy-\beta z
$$