Python使用被称为异常的特殊对象来表达执行期间发现的错误。当这些异常没有被捕获并处理时,程序将停止,并向控制台打印错误信息。这个错误信息通常是一个traceback,包含了异常的类型,以及诱发这个异常的代码位置及调用栈细节。

微实践:绘制二元函数曲面

我们将演示如何借助于ufunc的广播运算计算下述二元函数的在一个xy平面上的值并将其绘制成3D曲面。其中,x和y的取值范围均为[-2,+2]。
$$
z = xe^{-x^{2}-y^{2}}
$$
为了达到目的,我们需要一个二维的结果数组z,其元素的下标对应参数x,y的取值,其元素的值则为上述函数的函数值。这可以通过广播计算来得到。

微实践 - 一对兔兔与函数的增长

数学家列昂纳多·斐波那契研究了野外兔子的繁殖问题:一般而言,兔子出生两个月后,就有繁殖能力。假设一对兔子每个月能生出一对小兔子而且所有兔子都不死。如果现在往一片没有兔子的新大陆上放生一对新生的兔子,那么一年以后那个大陆上有多少只兔子?两年以后呢?

单元测试

据统计,由于软件缺陷(bug),美国经济每年在浪费生产力、返工和实际毁坏上损失了数十亿美元。近期最严重的案例是波音737 Max飞机的两次重大坠机事故,共造成了346人死亡。经过初步调查,该公司的专用软件难辞其咎。因此,通过软件工程方法以及测试减少软件的缺陷,十分重要。

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

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

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

​ — 混沌理论

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

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