分享

颠覆传统认识:苹果、橘子那些你不知道的奥秘?吃个橘子会让你更健康哦!

 考研竞赛数学 2020-10-09

我们都听到过这样的话:“无法比较苹果和桔子?”现在,这种“不可能”变成了现实,Mathematica能够让我们从里到外以非常直观、可视化的方式,详细比较、分析两种水果、蔬菜,比如苹果与橘子、冷冻食品与披萨,甚至可以获得多种皮卡丘式的食物小精灵。

一般来说,我们注意到的苹果与橘子之间的差别就是外表的不同。那么它们在外观上究竟有什么用的差别呢,看上去是什么样子呢,么有印象了的话,我们通过一个简单的输入项来调回我们可能的记忆。记忆表达式是这样的:

输出后的结果就是这样的:

【注意】本文出现的Mathematica表达式都要电脑联网才能正确执行哦!没有安装软件的测试方式见最后!

尽管“一张图片胜过千言万语”,但是我们更希望深入洞察其内部之“秋毫”。在它们没有被切开之前,它的内外究竟有啥颜色特征呢?我们也可以问问Mathematica是否知道。再次输入咨询表达式:


计算后的结果是这样的

Mathematica告诉我们,苹果经常看到的外表的颜色一般是绿色,或者黄色,当然还有红色的;它的内部通常的颜色则一般是黄色的,或者奶油色的;而橘子则内部、外部颜色一般就是橘色的。

当然,苹果和橘子之间的比较不仅仅在于外表和内部的看到的表象,我们也可以问问Mathematica是不是能够列出一张它们的营养价值表呢?

于是,新建一个Mathematica输入单元,在完全空白的位置点一下实验区域,然后直接按下等号【=】键,出现一个大大的橘色等号编辑框,输入:

apple,orange nutrition labels

就这样输入,自然语言输入,然后直接按下回车键执行,显示结果是这样的:




这就是苹果(第一个)、橘子(第二个表)包含的,能够提供的营养成份。这样一对比,我们发现橘子能够提供给我们比苹果更丰富的营养元素

除了上面列出的营养成份,我们再以每克为单位,看是不是还能对它们包含的营养成份做一个更详细的对比。于是借助Mathematica我们来收集一下相关的数据,并对获取的数值进行一个可视化分析,借助于图形绘制及相关的选项设置功能,就可以得到一个直观的对比分析图形了。(这里的表达式比较复杂了,稍微有一点长,有兴趣的话可以点击“阅读原文”下载源文件运行哦!)

负数表示营养成份橘子比苹果要多!

通过这个图,我们就能非常清晰的看到原来橘子比苹果有更多的营养成份,尤其是维生素包含种类和比例都要高得多!两种水果在包含的成份中,在极端的情况下,会出现200%的相对差距。

尽管我们通常说“每天一个苹果让你远离医生”,这样看来,每天吃一个橘子会让我们更健康了!

借助Mathematica的核心语言对于我们了解、比较和分析蔬菜水果非常实用。借助于几千种食物的图像和非营养成份特征,可以拓展很多的应用需求。例如,可以根据特定的非营养属性特征寻找食物。

比如我们希望搜索黄色的,接近球形的食物类型,则在Mathematica中输入:

每次运行一次,可能结果不一定相同哦!因为上面是随机在查询到的所有复合特征的食物中选取了5样!

另外输入下面的表达式,则可以得到一个,里面为白色或者乳白色,通过含铁量内容搜索的蔬菜图片构成的一个贴图。

首先是获取图像数据的表达式:


然后利用获取的图像创建贴图,计算后的结果如下:


除了食物,Wolfram语言中还包含了几千种的包装食品图像及其条形码,借助于其条形码识别命令BarcodeRecognize,就能创建一个用于的杂货店条形码扫描器。


用于创建一个识别条形码图片的命令。比如我们获得了一个条形码图片,希望了解它的成份及产品相关信息,则可以然后输入一下表达式:


执行及出现该条形码对应的产品的成份列表,并显示对应的产品截图。

这个条形码对应的是凯洛格果蓝莓磨砂烤面包糕点的蓝莓饼。

对于可视化方式,Mathematica也提供了很多很有意思的演示方式,可能更有意思和直接效果比较好的可能为字词云方式。比如下面图形演示了叶状蔬菜维生素A含量的权重情况。

通过这个图形直观的演示,名称字体越大包含的维生素A的比重越大,因此含量高的分别为芥菜(mustard green)、甘蓝(Kale)、菠菜(spinach)、牛皮菜(swiss chard)、莴苣(lettuce)。

另外,有意思的是我们也能够获取与一些其他与食物相关的一些信息。比如,可以查询得到类似樱桃的皮卡丘精灵图片。只要输入如下表达式执行即可:

执行后就是可爱的皮卡丘图像:

觉得还不够,因为我是皮卡丘迷,好的,来个更丰富的!我们创建一个皮卡丘图像墙。输入并执行如下的表达式:

执行后,出来了!

就这么任性,够满意了吧!

【注】如果你下载了源代码文件,记得凡是右边的方括号右上角有小旗帜的,如下图

双击这个方括号可以打开方括号,里面隐藏有Mathematica表达式哦,我们看到的只是隐藏表达式执行的结果而已!

对于源代码中出现的橘红色框框住的的表达式,我们把鼠标指针移动到上面时,会弹出其完整的输入方式,当然我们也可以通过如下方式获取其输入方式。


选择那些橘红色框,复制、粘贴到InputForm的方括号中执行,即可得到Mathematica的完整的表达式!

【注】:如果没有安装Mathematica怎么执行呢?我们可以去它的云开发测试平台。输入网址:https://develop.open./objects/ wpc-welcome/ ThingsToTry.nb. 进入网站后,点击“文件”(File)菜单中的“新建”(New)中的“笔记本”(Notebook),新建一笔记本窗口,然后就可以像自己电脑的Mathematica一样测试我们的代码,获取正确的结果了!如果不能正常运行,可以注册一下,当然也可以完全关闭浏览器重新进去!下面是最后一个测试运行的效果。

原文来自WolframBlog,作者:Andrew Steinacher

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多