本节的阅读需要傅里叶级数及傅里叶变换的相关数学知识。

示范代码目录下有一个ecgsignal.dat文件,这里存储了作者采集的一段人体心电信号-ECG。这个文件以4字节浮点数存储样本,单位为μV,采样总数 = 文件大小 / 4,采样频率 = 2000样本/秒。需要说明的是,这个心电信号不是标准的医用心电信号,作者在一台其它用途的医用电生理设备上,用左手拿着正电极,右手拿着负电极,简单记录了上述信号。而且,作者故意没有涂用于皮肤电极的导电膏,以便引入“工频干扰”。

据说蝴蝶扇动翅膀这样一件小事,可能最终会引起对面半球的一场飓风。

​ — 混沌理论

上面这行话来源于2004年的电影《蝴蝶效应》的开篇字幕。更早期,这段话则与气象学家Edward Lorenz有关。他发现简单的热对流现象居然能引起令人无法想象的气象变化,在对相关发现进行数学分析后,Lorenz于1963年提出了混沌理论 - Chaos Theory。混沌理论认为在混沌系统中,初始条件十分微小的变化,经过不断放大,对其未来状态会造成极其巨大的差别。

经过多年的发展,该理论已在气象、经济、化学、信息等诸领域得到广泛应用。但如果以混沌理论为关键词在Google上进行搜索,还会发现一些美轮美奂的艺术作品,这些艺术作品都与混沌理论中的吸引子有关。

程序里有很多东西需要命名,

​ 良好的命名习惯可以提高编程效率; 减少出错;

​ 良好命名的程序清晰易读。

​ 好的名称可以提供很多有价值的信息。

本文解释作者在《Python编程实践》一书中所使用的命名规则。

本小节求解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
$$