这是法国数学家迪卡尔,给瑞典公主克瑞斯丁写的第13封情书。因为前12封,都被心胸狭窄的国王扣下了,那个数学家心仪的公主始终没有见到前12封情书,但是最后一封,也就是第13封,迪卡尔没有写任何文字,只是短短的写了上面的数学公式。国王看到这封信,看不懂,认为这无关紧要,就把这封信给了她女儿,公主看了这两个很短的公式,心里乐开了花,……
下面我们用python代码来解读一下这两个公式:
# 数学家的第十三封的情书
from matplotlib import pyplot # matplotlib数据分析三部曲之一,极为流行的数据可视化工具;Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
from numpy import sqrt,linspace #numpy代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
x= linspace(-1,1,1000) #创建一个由区间 [-1,1] 中的 1000 个等距点组成的向量。
y1 = sqrt(1-abs(x))*sqrt(abs(x)) # 数学表达式y1 =√(1−|x|)√|X| y2 =-3/2√(1−√|X|)
y2 = (-3/2)*sqrt(1-sqrt(abs(x)))
pyplot.fill_between(x,y1,color='red') # 绘制两个封闭空间,用红色填充
pyplot.fill_between(x,y2,color='red')
axes = pyplot.axes() # 轴的默认设置
axes.set_aspect('equal') # 设置轴的外观相同
pyplot.show() # 显示图像
运行这段代码,得到了美丽的“心”!公主自然心里乐开了花。