Matlab中的彩蛋实现与Matlab的版本有着重要关系,像Android一样,不同的版本对应不同的彩蛋。这里以Matlab 2016A为例。
1.最著名的一个,命令行窗口输入“image”,就会出现一张倒置的小孩脸,不知情的使用者很可能会被吓一跳,特别是半夜改程序的苦逼学生们(比如我,不过我当年心大,没当回事就略过了,直到多年后的今天才去查这个小孩脸到底是什么)。其命令效果如下:
2.命令行窗口输入“penny”,就会出现一美分的图片:
美分通常也称为“便士(penny)”,其上印有“IN GOD WE TRUST”即“我们相信上帝”的箴言,以及林肯的侧身像,因此也被称为“林肯分”。
3.命令行窗口输入“earthmap”,就会出现世界地图,而且是可以通过鼠标进行互动操作的:
右上角有几个操作按钮,可以对地球仪进行拖动缩放,并且当我们选中地球仪上某一点时,可以显示出该点的坐标。
4.命令行窗口输入“life”,就会出现一个名为“康威生命游戏”的一个有关蛋白质生命起源小游戏:
康威生命游戏(Game of Life),是剑桥大学约翰·何顿·康威设计的计算机程序。其每个方格中都可放置一个生命细胞,每个生命细胞只有两种状态:“生”或“死”。用黑色方格表示该细胞为“生”,空格(白色)表示该细胞为“死”。或者说方格网中黑色部分表示某个时候某种“生命”的分布图。生命游戏想要模拟的是:随着时间的流逝,这个分布图将如何一代一代地变化。
该游戏由美国趣味数学大师马丁·加德纳(Martin Gardner,1914-2010)通过《科学美国人》杂志,介绍给学术界之外的广大读者。一时吸引了各行各业一大批人的兴趣,并成功吸引了科学家对细胞自动机相关课题的注意。
5.命令行窗口输入“xpbombs”,就会出现扫雷小游戏:
6.命令行窗口输入“why”,就会出现低配版的ChatGPT,Matlab会想一句俏皮话来回复你的why。“一个聪明又胆怯的小矮子坚持要这样做”、“这就是富人工程师想要的”、“是一些高个子秃头程序员要这样的”、“我是被恶魔指使的”。。。
7.命令行窗口输入“travel”,就会出现以美国地图为基础的随机数量的城市构成的地图连线。
8.命令行窗口输入“lorenz”,就会出现混沌理论中最著名的“洛伦兹吸引子”曲线。
爱德华·洛伦茨(1917-2008)是一位在美国麻省理工学院做气象研究的科学家。年轻时在哈佛大学主修数学,只是因为后来爆发了第二次世界大战,他才服务于美国陆军航空队,当了一名天气预报员。战争结束后,洛伦兹到麻省理工学院专攻气象预报理论,之后又成为了MIT的教授。
上世纪的60年代初, 他试图用当时较为罕见也较为先进的计算机技术来模拟影响气象的大气流。但由于几个参数初始值的细微差别,导致最后的气象预测天差地别。洛伦茨是以他非凡的抽象能力, 将气象预报模型里的上百个参数和方程, 简化到如下一个仅有三个变量及时间的、系数完全决定了的微分方程组。
其中,xyz分别由流速、温度、压力、光照等简化而来。R在流体力学中叫做瑞利数,与流体的浮力及粘滞度等性质有关。瑞利数的大小对洛仑兹系统中混沌现象的产生至关重要。这是一个不能用解析方法求解的非线性方程组。洛仑兹将瑞利数设置为R=28,然后,利用计算机进行反复迭代, 即首先从初始时刻x、y、z的一组数值x0、y0、z0,计算出下一个时刻它们的数值x1、y1、z1,再算出下一个时刻的x2、y2、z2……如此不断地进行下去。将逐次得到的x、y、z瞬时值, 画在三维坐标空间中,这便描绘出了这个奇妙而复杂的洛伦茨吸引子图。
此外,还有N多小彩蛋,可以自己发掘。