什么是计算性文章?金宝博188投注

表达思想的有力方法

人们习惯于用散文,有时用图画来表达自己。但在现代计算时代,我想打电话给金宝博188投注计算性论文.

几十年来,我一直致力于构建支持计算论文的技术,金宝博188投注但直到最近,我才意识到中央计算论文对人们学习的两种方式都是如此的重要,金宝博188投注以及他们交流事实和想法的方式。未来的专业人员将定期以计算论文的形式提供结果和报告。金宝博188投注教育工作者将经常使用计算论文来解释概念。金宝博188投注学生们通常会制作计算性论文作为课堂作业。金宝博188投注

下面是一个非常简单的计算性文章的例子:金宝博188投注

简单计算文章示金宝博188投注例

这里基本上有三种东西。第一,普通文本(此处为英文)。第二,计算机输入。第三,计算机输出。关键是这些都一起工作来表达所传达的信息。

普通文本提供了上下文和动机。计算机输入给出了正在讨论的内容的精确说明。然后计算机输出提供事实和结果,通常以图形形式。它是一种强有力的阐述形式,将人类作者的计算思维与计算机的计算知识和计算处理结合起来。金宝博188投注

但真正使这项工作的是沃尔夫拉姆语-以及它所提供的高层思想的简洁表达,在人类的计算思维和计算机提供的实际计算和知识之间定义一个独特的桥梁。金宝博188投注

在一个典型的计算文章中,金宝博188投注每一段Wolfram语言输入通常都很短(通常不超过一行或两行)。但关键是这样的输入可以传达一个高级的计算思想,金宝博188投注以一种既能被计算机理解又能被阅读文章的人理解的形式。

对于所有这些来说,Wolfram语言有如此多关于世界和如何计算其中事物的内置知识是至关重要的。因为这正是它能够立即谈论抽象计算的原因,同时也涉及现实世界中存在和发生的事情,并最终提供一种真正的计算通信语言,将人类和计算机的能力连接起来。金宝博188投注

一个例子

让我们用一篇计算文章来解金宝博188投注释计算文章。

假设我们想谈谈人类语言的结构,喜欢英语。英语基本上是由单词组成的。我们来列一张常见的清单。

生成英语常用词列表:

词表[ ]
γ

词表[ ]

一个典型的词有多长?好,我们可以把常用词列出来,并制作一个柱状图来显示它们的长度分布。

制作单词长度的柱状图:

柱状图[字符串长度[单词表]]
γ

柱状图[字符串长度[单词表]]

法语也一样:

柱状图[字符串长度[单词表[语言->
γ

柱状图[字符串长度[单词表[语言->“法语”]]]

注意,法语中单词的长度往往更长。我们可以调查这是否是为什么文件在法语中比英语要长的原因。或者这和文本的熵等量有什么关系。(当然,因为这是一篇计算文章,金宝博188投注读者可以自己重新运行其中的计算,比如用俄语代替法语。)

但作为不同的东西,让我们通过比较他们的翻译来比较语言,说,“计算机”这个词。

查找“计算机”的翻译在10种最常见的语言中:

采取[文字翻译[
γ

取[WordTranslation[“计算机”,所有,10

在每种情况下查找第一个翻译:

第一个/@take[文字翻译[
γ

第一个/@take[wordstranslation[“computer”,所有,10

在“功能空间”中排列常用语言根据他们对“计算机”的翻译:

FeatureSpacePlot[第一个/@Take[文字翻译][
γ

featurespaceplot[第一个/@take[文字翻译[“计算机”,所有,40 ] ]

从这个情节中,我们可以开始研究各种语言之间的结构和历史关系。但是从计算的角度来看,金宝博188投注重要的是,我们要分享普通文本之间的论述,计算机输入,并输出。

正文是说基本点是什么。然后输入给出了我们想要的精确定义。输出显示了它的真实性。但是看看输入。即使只是通过查看其中的Wolfram语言函数的名称,你可以很好地了解它在说什么。虽然函数名是基于英语的,“可以使用”代码字幕“用另一种语言来理解它,说日语:

FeatureSpacePlot[第一个/@Take[文字翻译][
γ

featurespaceplot[第一个/@take[文字翻译[“计算机”,所有,40 ] ]

但我们假设一个人不知道特征图.这是怎么一回事?如果它只是英语中的一个词或短语,我们可以查字典,但不会有确切的答案。但是,Wolfram语言中的函数总是被精确定义的。为了知道它做了什么,我们可以从它的文档开始。但更重要的是,我们可以自己运行它来明确地看到它的作用。

功能空间绘图页

这是计算散文伟大之处的关键部分。金宝博188投注如果你读了一篇普通的文章,你不明白什么,最后,你只需要问作者他们是什么意思。在一篇计算金宝博188投注文章中,虽然,这里有Wolfram语言输入,它精确而明确地指定了一切,如果你想知道它的含义,你只需运行它并在你的电脑上浏览它的任何细节,自动的,无需借助于与作者的讨论。

实用性

一个人如何真正地创造一篇计算性的文章?金宝博188投注我们拥有的技术组合,这很容易,主要是由于笔记本的概念,我们介绍了数学第一版一路回到1988年。笔记本是一种结构化文档,它将文本单元格与Wolfram语言输入和输出单元格混合在一起,包括图形,图像,声音,互动内容:

典型的笔记本

在现代,一个伟大的(并且很难实现!)问题是,完整的Wolfram笔记本可以在桌面上无缝运行,云和移动。你可以在本地写一本笔记本沃尔夫桌面应用程序(MAC)窗户,Linux)或通过任何Web浏览器在Web上,或通过手机Wolfram云应用程序.然后您可以通过钨云,在网络或手机上访问它,或者下载到桌面,或者,现在,iOS设备。

笔记本电脑环境

有时你只想让笔记本的读者看一眼,可能是打开和关闭一组细胞。有时,您还希望他们能够操作交互元素。有时候你希望他们能够编辑和运行代码,或者修改整个笔记本。关键的一点是,所有这些事情都可以通过我们构建的云桌面移动系统轻松完成。

新形式的学生工作

金宝博188投注计算机论文对学生来说是很好的阅读,但它们也很适合学生写作。目前大多数的学生工作方式都非常陈旧。写一篇文章。进行数学推导。这些已经存在了几千年了。不是说他们有什么问题。但现在有了新的东西:写一篇计算性的文章。金宝博188投注这是非常有教育意义的。

实际金宝博188投注上,一篇计算性的文章是通过人类作者和计算机之间的协作来讲述的一个智力故事。电脑就像一种智力外骨骼,让你立刻掌握巨大的计算能力和知识。金宝博188投注但它也是理解的执行者。因为要引导电脑了解你想讲的故事,你必须自己理解。

当学生写普通散文时,他们通常写的内容在某种意义上“已经存在”。(讨论这段话);“解释这段历史”;……)但是在做计算(至少用Wolfram语言)时,很容易发现新的东西,计算文章最终将得到一个基本上取之不尽的新内容,金宝博188投注这是前所未见的。学生将探索和发现,以及理解和解释。

当你写一篇计算论文时,金宝博188投注你的计算文章中的代码必须产生与你所金宝博188投注讲故事相符的结果。这不像是在做数学推导,然后有老师告诉你你的答案是错的。您可以立即看到代码的作用,是否符合你所讲的故事。如果没有,那么,也许你的密码是错的,或者你的故事是错误的。

学生写计算论文的实际过程应该是什么?金宝博188投注在今年沃尔夫拉姆暑期学校我们做了一个实验,要求我们所有的学生写一篇关于他们所知道的任何事情的计算性论文。金宝博188投注我们以72篇有趣的文章-探索各种各样的主题。

在更典型的教育环境中,“提示”对于一篇计算金宝博188投注性的文章来说,可以是“一个词在英语中的典型长度是多少”之类的。或者“探索英语单词长度”。

我还尝试了另一个工作流。作为“教室”类的组成部分,进行实时编码(或实时实验)。创造或发现某物,每个学生都跟着做自己的计算。在课后,每个学生都会有一本笔记本。然后做他们的“家庭作业”把那本笔记本变成一篇计算性的文章来解释所做的事情。金宝博188投注

根据我的经验,这最终是一个非常好的练习,真正考验和巩固学生的理解。但是也有其他的东西:当学生们写了一篇计算性的论文,金宝博188投注他们有一些可以长期保存和直接使用的东西。

这是计算文集的一大特点。金宝博188投注当学生写的时候,实际上,他们为自己创建了一个定制的计算工具库,在将来的任何时候都可以立即使用。金宝博188投注学生在课堂上写笔记太普遍了,那就不要再提他们了。对,他们可能会遇到这样的情况:笔记会有帮助。但经常很难激励自己回去读笔记,尤其是因为这只是开始;还有一个问题就是要实现笔记中的任何内容。

但重点是通过计算性的文章,金宝博188投注一旦你找到你想要的,实现它的代码就在那里,可以立即应用到任何出现的问题上。

任何你想要的主题

计算论文可以是关于金宝博188投注什么的?几乎什么都有!我经常说,对于研究X的任何领域(从考古学到动物学)。要么是现在,或者很快,“计算金宝博188投注X”。以及任何“计算X”金宝博188投注可以立即用计算文章进行探索和解释。金宝博188投注

但即使没有明确的“计算X”金宝博188投注然而,计算论金宝博188投注文仍然是组织和呈现材料的有力方式。从某种意义上说,一系列的计算通常需要“讲述故事”这一事实在一篇文章中有助于为整个文章定义一个清晰的主干。实际上,计算呈现的结构化性质有助于为叙述提供结构建议,使学生(和其金宝博188投注他人)更容易撰写易于阅读和理解的文章。

但实际的主题呢?好,想象你在学习历史,比如说英国内战的历史。好,方便地,Wolfram语言有很多关于历史的知识(以及其他许多东西)。所以你可以通过一种对话来展示英国内战。例如,你可以向它询问战斗的地理位置:

γ

地理位置图[\]!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`query$=“英国内战”,typeset`box$=templatebox[“\”英语内战\“”,行框[“实体”,“行框[“\”军事冲突\“”,“,”“英国公民战争”“”},“\”实体[\ \ \”军事冲突\\ \”,\\\\“Englishcivilwar\”]\“”,“军事冲突”“实体”typeset`allassumptions$=“类型”>“冲突”,“Word”->“英国内战”,“模板”>假设“${Word }”是${LeS1}。改为\$desc2使用“,“伯爵”>“3”,“价值”->“名称”->“军事冲突”,“DESC”->“军事冲突”,“输入”->“*C.English+公民+战争-uux军事冲突-”,{“名称””>“Word”,“DESC”>“一个字”,“输入”->“*c.english+civil+war-”字-“,{“名称””->“历史事件”,“DESC”->“历史事件”,“输入”->“*C.English+公民+战争-ux历史事件-”,“类型”->“子类别”,“Word”->“英国内战”,“模板”->“假设$Desc1。使用$desc2代替“,“伯爵”>“4”,“价值”->“名称”->“英国公民战争”,“DESC”->“英国内战(1642-1651)”,“输入”->“*dpclash.militaryconflicte.english+civil+war-”,{“名称””->“第一次英国公民战争”,“DESC”->“英国内战(1642-1646)”,“输入”> *“DPCLASH。军事冲突。英语+民事+战争- **第一次英国内战”,{“名称””->“第二次英国公民战争”,“DESC”->“第二次英国内战”,“输入”->“*dpclash.militaryconflict.english+civil+war-\secondenglishcivilwar-”,{“名称””->“第三次公民战争”,“DESC”->“第三次英国内战”,“输入”->“*dpclash.militaryconflicte.english+civil+war-\thirdenglishcivilwar-”,typeset`假设$=,typeset`open$=1,2 },排字状态$$ = {“联机””>真的,“允许”>真的,“MPARSE .jsp”->1.305362`6.5672759594240935,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->265.,{ 7,17、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,[内容> >真实] \ [战斗] ]

你可以要求一个战争开始的时间表(你不需要说“前15场战争”,因为如果有人在乎,人们可以从WOLFRAM语言代码中读到:

γ

时间线图[记下[\!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`query$=“英国内战”,typeset`box$=templatebox[“\”英语内战\“”,行框[“实体”,“行框[“\”军事冲突\“”,“,”“英国公民战争”“”},“\”实体[\ \ \”军事冲突\\ \”,\\\“Englishcivilwar\\”“]\”“,“军事冲突”“实体”typeset`allassumptions$=“类型”>“冲突”,“Word”->“英国内战”,“模板”>假设“${Word }”是${LeS1}。改为\$desc2使用“,“伯爵”>“3”,“价值”->“名称”->“军事冲突”,“DESC”->“军事冲突”,“输入”->“*C.English+公民+战争-uux军事冲突-”,{“名称””>“Word”,“DESC”>“一个字”,“输入”->“*c.english+civil+war-”字-“,{“名称””->“历史事件”,“DESC”->“历史事件”,“输入”->“*C.English+公民+战争-ux历史事件-”,“类型”->“子类别”,“Word”->“英国内战”,“模板”->“假设$Desc1。使用$desc2代替“,“伯爵”>“4”,“价值”->“名称”->“英国公民战争”,“DESC”->“英国内战(1642-1651)”,“输入”->“*dpclash.militaryconflict.english+civil+war-”,{“名称””->“第一次英国公民战争”,“DESC”->“英国内战(1642-1646)”,“输入”->“*dpclash.militaryconflicte.english+civil+war-”,{“名称””->“第二次英国公民战争”,“DESC”->“第二次英国内战”,“输入”->“*dpclash.militaryconflicte.english+civil+war-”,{“名称””->“第三次公民战争”,“DESC”->“第三次英国内战”,“输入”->“*dpclash.militaryconflicte.english+civil+war-”typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->1.305362`6.5672759594240935,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->275.,{ 7,17、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择内容->真]\)[“战斗”],[ 15 ]

你可以开始看看军队是如何移动的,或者谁赢了,谁输了。起初,你可以写一篇计算性的文章,其中计金宝博188投注算基本上只是生成定制的信息图表来说明你的叙述。但是你可以更进一步,真正开始做“计算历史”。金宝博188投注你可以开始计算战争进展的各种统计指标。你可以找到方法将它与其他战争进行定量比较,等等。

你能写一篇“计算论文”吗?金宝博188投注关于艺术?当然。也许是关于艺术史。挑选10幅梵高的随机画作:




梵高绘画作品输出
γ

EntityValue[随机样本[\!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset` query$=“梵高”,typeset`box$=templatebox[“\”Vincent van Gogh\“”,行框[“实体”,“行框[“\”个人\“”,“,”“文森特梵高:9VQ62\”“”,“”},“\”实体[\ \”个人\ \ \\”,“ViCon Vangangh::9VQ62\\”“人”“},“实体”typeset`allassumptions$=“类型”>“冲突”,“Word”>“梵高”,“模板”>假设“${Word }”是${LeS1}。改为\$desc2使用“,“伯爵”>“4”,“价值”->“名称”>“人”,“DESC”>“一个人”,“输入”->“*C.van+Gogh-”人-“,{“名称””>电影,“DESC”>一部电影,“输入”->“*C.van+Gogh-”电影-”,{“名称””->“solarSystemFeature”,“DESC”->“太阳系特征”,“输入”->“*C.van+Gogh-u*solarSystemFeature-”,{“名称””>“Word”,“DESC”>“一个字”,“输入”->“*c.van+gogh-x-word-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.472412`6.1258659143333281,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->227.,{ 7,17、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\)[“NotabailerWorks”],10,“图像”

然后看看他们使用的颜色(一个非常窄的选择):

色度图[%]
γ

色度图[%]

或者可以写一篇关于创造艺术的计算性文章,金宝博188投注或音乐。

科学呢?你可以通过观察行星的性质来重新发现开普勒定律:

γ

!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`query$=“行星”,typeset`box$=templatebox[“\”行星\“”,“EntityClass”,“行框[“\”行星\“”,“,”“全部”},“”},“\”实体类[\ \ \”行星\\ \”,““行星”“},“实体类”,typeset`allassumptions$=“类型”>“冲突”,“Word”>“行星”,“模板”>假设“${Word }”是${LeS1}。改为\$desc2使用“,“伯爵”>“4”,“价值”->“名称”->“刨子类”,“DESC”>指行星“,“输入”->“*C.行星-*planetclass-”,“姓名”->“外行星类”,“DESC”>指系外行星“,“输入”->“*C.行星-”外行星类-”,“姓名”->“minorplanetclass”,“DESC”>指的是小行星“,“输入”->“*C.行星-*小行星类-”,“姓名”>“Word”,“DESC”>“一个字”,“输入”->“*C.行星-x单词-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.400862`6.054539882441674,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->171.,{ 7,17、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\)[“与太阳的距离”,“轨道周期”}

ListLogGrgTrave[%]
γ

ListLogGrgTrave[%]

也许你可以继续检查外行星。或者你可以开始解行星的运动方程。

你可以看看生物学。这是人类线粒体参考序列的第一个开始:

遗传算法[{
γ

基因组数据[“线粒体”,{ 1,150 } }

你可以把它分成可能的密码子:

字符串分区[%,3
γ

字符串分区[%,3

在Wolfram语言中有大量关于各种事物的数据。但也有Wolfram数据存储库,它包含各种特定的数据集。这里有一张美国州的国家集市地图:

geolistplot[资源数据[
γ

地质遗迹[资源]〔美国〕州集市“【全部,“地理位置”]

以下是2010年以来颁布的国家宪法的字云:

γ

wordcloud[stringjoin[normal[resourcedata[“world constitutions”][选择[年颁布>\!\(\*命名空间框[“Linguisticassistant”,“动态模块”框[{CytSeTe]查询$= =“2010年”,排字框$$= ROBOBOX {“DATEObjor”,“ROBOBOX { { },“2010”“}”},“”},typeset`allassumptions$=“类型”->“多闪点”,“Word”>““模板”->“假设$word1指的是\$desc1。使用“${Word2}”作为${LeS2}。“伯爵”>“2”,“价值”->“名称”->“伪标记年”,“Word”>“2010年”,“DESC”->“一年”,“输入”->“*MC。年+ 2010 - *伪toko年”}“姓名”>“单位”,“Word”->“年”,“DESC”>“单位”,“输入”->“*mc.year+2010-x单位-”,typeset`假设$=,typeset`open$=1,typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.542662`6.18607404594303,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->86.,{ 7,18、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择内容->真)\]“文本”] ]

经常有人对处理公共数据不感兴趣,但是有一些本地数据。其中一个方便的来源是Wolfram数据丢弃.在教育环境中,可以设置特定的数据箱(或一般的云对象),以便某些特定的组可以读取(和/或添加到)。这是我为自己积累的一个数据库,一整天都在显示我的心率。这是今天的:

数据列表图[时间序列[数据箱][
γ

日期列表图[时间序列[您的日期选项卡]]

当然,制作柱状图也很容易:

柱状图[时间序列[数据箱][
γ

柱状图[时间序列[您的日期表]]

数学怎么样?数学中的一个关键问题是理解事物为什么是真的。传统的做法是提供证据。但是计算金宝博188投注文章提供了另一种选择。这些步骤的本质是不同的,但目的是相同的:展示真实的东西和为什么。

作为一个非常简单的例子,我们来看看素数。以下是前50个:

表[Prim[n],{n,50 }
γ

表[Prim[n],{n,50 }

让我们找到所有这些素数的剩余mod 6:

mod[表[prime[n],{n,50 },6
γ

mod[表[prime[n],{n,50 },6

但是为什么只有1和5发生(好吧,在素数2和3的小例子之后?我们可以通过计算看到这一点。任何数字都可以写成6n+K对于一些nK

表〔6 N+K〕,{0,5 }
γ

表〔6 N+K〕,{0,5 }

但是如果我们把用这种形式写的数字考虑进去,我们会看到6n+1和6n+5是唯一不必是倍数的:

因子[%]
γ

因子[%]

计算机科学怎么样?例如,我们可以写一篇关于实现欧几里得算法的计算文章,金宝博188投注研究它的运行时间,等等。

定义函数以给出欧几里得算法中的所有步骤:

GCDLISTA[A]B_u]:=嵌套列表[最后一个[],应用和{a,B}最后!=01
γ

GCDLISTA[A]B_u]:=嵌套列表[最后一个[],应用和{a,B}最后!=01

查找算法运行长度的分布,对于最多200个数字:

柱状图[展平[表[长度[gcdlist[i,J]{200 },{200 } ] ]
γ

柱状图[展平[表[长度[gcdlist[i,J]{200 },{200 } ] ]

或者在现代,我们可以探索机器学习,启动,说,通过绘制mnist手写数字数据集的一部分的特征空间图:

特征图[随机样本] [资源]
γ

功能空间图[随机样本[键[资源数据[“mnist”],50 ] ]

如果你想深入了解软件工程,你可以写一篇关于HTTP协议的计算性金宝博188投注文章。这将从站点获取HTTP响应:

乌尔里德
γ

urlread[“https://www.wolfram.com”]

这显示了网页上的元素在URL上的树形结构:

树型[进口]错误的,Aspectratio->1/2]“title=“treeform[导入[”http://www.wolframalpha.com“,{“HTML”)“XMLObjuts}},VertexLabeling->false,Aspectratio->1/2]“宽度=“497”身高=“257”class=“AlignNone大小完整wp-image-14978”>
γ

treeform[导入[“http://www.wolframalpha.com”,{“HTML”)“XMLObjuts}},VertexLabeling->false,电气->1/2]

或者在完全不同的方向上,你可以谈论解剖学:

解剖图3d[左脚]
γ

AnatomyPlot3d[实体[“解剖结构”,“左脚”

怎样才能写出一篇好的计算论文?金宝博188投注

就我而言,要想写一篇好金宝博188投注的计算论文,它必须尽可能容易理解。格式帮助很大,当然。因为一篇计算文章充满金宝博188投注了易于浏览的输出(通常是图形化),这立刻让人对这篇文章想说的有了一些印象。它也有助于计算文章是结构化文档,金宝博188投注以封装良好的方式传送信息。

但归根结底,这要由一篇计算性文章的作者来弄清楚。金宝博188投注但是另一个有帮助的事情是,计算性文章的本质是它必须有一个“计算性叙述”——计算机可以执行的一系列代码来完成金宝博188投注本文中讨论的内容。虽然一个人可以写一篇普通的文章,虽然没有什么意义,但听起来还是不错的,我们最终不能在计算性的文章中做那样的事情。金宝博188投注因为最终代码就是代码,事实上,我们必须跑步和做事。

那么什么会出错呢?好,像英语散文一样,Wolfram语言代码可能不必要地复杂,很难理解。在一篇好的计算文章中金宝博188投注,普通文本,和代码,应该尽可能简单干净。我试图通过说每个输入部分至多应该有一行或两行长,并且输入的标题应该总是只有一行长来实现这一点。如果我想做一些事情,它的核心(可能不包括显示选项等)需要的不仅仅是一行代码,然后我把它分开,分别解释每一行。

就我而言,另一个重要的原则是:明确。没有变量,说,隐式存储单词列表。实际上至少显示了列表的一部分,所以人们可以清楚地看到它是什么样的。当输出复杂时,找到一些表格或者可视化的东西,让你感兴趣的特性变得明显。不要让“关键结果”藏在角落里的东西里;确保你设置的方式使它在前面和中间。

使用笔记本的结构化特性。用章节标题分解计算金宝博188投注文章,再次有助于使他们容易脱脂。我遵循“标题行”的风格在每次输入之前。如果这句话有点重复,不要担心;想想标题吧,一个“看照片”的人可能是为了理解照片的内容,在他们真正深入到完整的文本叙述之前。

Wolfram笔记本电脑的技术使得它可以很容易地加入互动元素,喜欢操纵,进入计算论金宝博188投注文。有时候这很有帮助,甚至是必要的。但是交互元素不应该被过度使用。因为只要有一个元素需要交互,这会降低浏览文章的能力。

有时建立一个特定的计算文章需要大量的数据或代码。金宝博188投注云对于处理这一点非常有用。只需将数据(或代码)部署到Wolfram云,并设置适当的权限,以便在执行文章中的代码时自动读取。

笔记本还允许“反向关闭”允许输出单元立即可见的单元数,即使生成它的输入单元最初是关闭的。这种代码隐藏通常应该避免在计算文章的正文中,金宝博188投注但有时候在文章的开头或结尾会有用,或者是暗示即将发生的事情,或者包括一些更高级的,你不想详细介绍它是如何制造的。

好啊,所以如果一篇计算金宝博188投注论文完成了,说,作为作业,如何评估?首先,直截了当的问题是:代码运行吗?这可以自动确定。之后,评估过程与普通论文非常相似。当然,将单元格添加到笔记本中,以便对其中的内容进行评论,这是一件很好且容易的事情。金宝博188这些单元可以包含可运行代码,例如可以在文章和过程中取得结果或检查它们。

有好的计算文章的原则吗?金宝博188投注这里有几个候选人:

0。明白你在说什么!!)

1。找到最直接和最直接的方式来代表你的主题

2。将每一段Wolfram语言输入的核心保留到一两行

三。尽可能使用显式可视化或其他信息表示

4。试着让每个输入+标题独立理解

5。将不同的主题或方向分成不同的小节

学习语言

计算论文的核心是用Wolfra金宝博188投注m语言表达计算思想的思想。但要做到这一点,一个人必须懂得语言。现在,与人类语言不同,Wolfram语言是明确设计的(并且,对,这就是我在过去30多年里一直在做的事情),遵循明确的原则,尽可能容易学习。但我们仍在学习。

Wolfram语言的一个特点是,与人类语言一样,它通常更容易阅读而不是书写。这就意味着,对于人们来说,一个好的学习他们需要写什么计算文章的方法就是首先阅读一堆文章。金宝博188投注或许他们可以开始修改这些文章。或者他们可以开始创作“笔记随笔”,基于在LiveCoding或其他课堂课程中生成的代码。

随着人们对沃尔夫拉姆语的写作越来越熟练,有趣的事情发生了:他们开始用语言表达自己,并使用Wolfram语言输入,在一篇计算性文章中承载了叙事的重要部分。金宝博188投注

当我写作的时候Wolfram语言简介(这本书本身大部分是作为一系列计算文章写的)我有一个有趣的经历。金宝博188投注在书的早期,用英语解释计算练习(用前10个方格做一张表)相当容易。金宝博188投注但是在书的后面一点,这是一个令人沮丧的过程。

用Wolfram语言表达我想要的东西很容易。但用英语来表达这一点又长又难(而且有听起来像法律术语的倾向)。这就是使用Wolfram语言的要点,我花了30多年来建造它的原因是:因为它提供了更好的,更清晰的表达计算思想的方式。金宝博188投注

有时人们说人类的语言决定了你的思维方式。目前还不清楚人类语言的真实性。但计算机语言绝对是如此。Wolfram语言最强大的功能之一就是帮助人们形成清晰的计算思维。金宝博188投注

传统的计算机语言是关于编写描述计算机应该做什么的细节的代码。Wolfram语言的要点是提供更高层次的东西,可以立即谈论世界上的事情,这可以让人们尽可能直接地把它作为计算思维的媒介。金宝博188投注从某种意义上说,这就是一篇好的计算论文的可能之处。金宝博188投注

计算论文的长路金宝博188投注

既然我们有了成熟的计算论文,金宝博188投注我意识到我已经走上了通向他们的道路近40年.一开始,我是把交互式计算机输出和Scotch录音描述带到其中:

交互式计算机输出草图

1981岁,当我建立SMP时,我经常写一些分散代码和解释的文档:

代码穿插解释

但那只是在1986年,当我开始记录什么变成了Mathematica和Wolfram语言时,我开始认真开发一种接近我现在喜欢的计算论文的风格:金宝博188投注

Wolfram语言版本1文档

随着1988年Mathematica 1.0另一个关键因素是:Wolfram笔记本的发明。笔记本的形式至少表面上与现在非常相似(而且在许多方面已经比25年后开始出现的模仿更为复杂!):按组排列的单元格集合,并且能够包含文本,可执行代码,绘图,等。

早期的Mac笔记本电脑

起初,笔记本电脑只能在Mac电脑和下一台电脑上使用。几年后,它们被扩展到了Microsoft Windows和X Windows(后来,Linux)。但很快人们就开始使用笔记本来提供他们所做的报告,创造丰富的讲解和教材。几年之内,开始有基于笔记本的课程,还有从笔记本上打印出来的书,在后面的CD-ROM上提供交互式版本:

笔记本出版物示例

因此,从某种意义上说,计算论文的原材料在90年代初就已经存在了。金宝博188投注但要真正使计算论文进入他们自己的发展需金宝博188投注要云,以及整个范围广泛的计算知识,现在是WOLFRAM语言的一部分。

到1990年,完全有可能创造出一本叙述性的笔记本,人们做到了,尤其是关于数学之类的话题。但如果有真实的数据,事情变得一团糟。人们必须确保所需的一切都能从发行版CD-ROM或其他什么光盘上得到。我们创造了一个笔记本电脑播放器很早,有时会和笔记本一起分发。

但在过去的几年里,特别是随着钨云,事情变得更加简单了。因为现在你可以无缝地在云中存储东西并在任何地方使用它们。你可以直接在云中使用笔记本电脑,只是使用网络浏览器。此外,多亏了大量的用户帮助创新(包括自然语言输入)。用Wolfram语言编写变得更加容易,而且通过这样做可以实现更多的功能。

我认为重要的是,它已经变得足够轻,可以产生一篇很好的计算性文章,这是很有意义的,无论是专业的撰写报告,金宝博188投注或者作为一个学生做家庭作业。

古代教育史

学生写计算论文的想法是现代的新想法,金宝博188投注通过一整套当前技术实现。但是有一种奇怪的共鸣来自遥远的过去。你看,如果你几百年前在美国学过数学这样的学科,你要做的一件大事就是创造一本所谓的密码书,在这本书中,在几年的时间里,你仔细地写出了一系列问题的解决方案,把解释和计算混为一谈。当时的想法是你把你的密码簿保存了一辈子,每当你需要解决像它所包含的问题时,就参考它。

好,现在,通过计算文金宝博188投注章,你可以做很多相同的事情。你能解决的问题比手工计算要复杂和广泛得多。但就像加密书一样,你可以写计算文章,这样以后它金宝博188投注们会对你有用,尽管现在你不必手工模仿计算了;相反,你只需编辑你的计算文章笔记本,并立即重新运行WordF金宝博188投注rm语言输入。

实际上,我最近才知道加密书。在大约20年的时间里,作为一件艺术品,我基本上拥有一本奇特的手写笔记本(创作于1818年,它说,一个叫乔治·雷曼的人,显然是奥威斯堡宾夕法尼亚)像这样的页面:

密码书

我现在知道这是一本密文书,在这一页上描述了如何找到“垂直物体的高度…通过给定阴影的长度”。当然,我无法抗拒现代计算论文的模拟,金宝博188投注哪一个,不用说,可以更详细一点。

以太阳的当前位置为方位角,海拔高度:

太阳星座[太阳]
γ

太阳星座[太阳]

为单位高度的对象查找阴影的长度:

1/tan[太阳位置[[[2]]]
γ

1/tan[太阳位置[[[2]]]

如果阴影为10英尺,找到制造它的物体的高度:

谭[太阳位置][[2]]]10英尺
γ

谭[太阳位置][[2]]]10英尺

前面的路

我喜欢写文章(比如博客文章!).但我更喜欢写计算论文。金宝博188投注因为至少对于我想交流的很多事情,我发现这是一种更纯粹、更有效的方法。我可以花很多词来表达一个想法,或者我可以给一小块WordFrm语言输入,非常直接地表达这个想法,并通过它产生(通常是非常直观的)输出来展示它是如何工作的。

当我写大书的时候一种新的科学(1991年至2002年)无论是我们的技术还是世界,都没有完全准备好以现在可能的形式进行计算。金宝博188投注我对这本书的研究填补了沃尔夫拉姆上千本笔记本。但当它实际上是把书放在一起的时候,我刚刚展示了这些笔记本的结果,包括它们在笔记本背面的笔记中的一点代码。

但现在这本书的故事可以在我已经开始撰写的计算论文中讲述。金宝博188投注(只是为了好玩,我一直在畜牧业我正在做的一些工作是为了创造这些。)而最令人满意的是书中的思想可以在计算文章中清晰而清晰地表达出来。金宝博188投注

计算论文有很大的潜力。金宝博188投注事实上,我们现在开始收集“主题探索”的项目。使用计算论文来以前金宝博188投注所未有的清晰和直接的方式来探索大量的主题。会有点像我们的沃尔夫拉姆示范项目(现在有11000多个Wolfram语言支持的演示)。这是我写的一个典型例子:

中心极限定理

金宝博188投注计算文章开辟了各种新的交流方式。直接提出计算实验和探索的研究论文。金宝博188投注描述已经发现的事物的报告,但允许立即调查其他案件。而且,当然,金宝博188投注计算论文为学生(和其他人)定义了一种非常直接和有用地展示他们所学知识的方法。

写和读计算论文都令人满意。金宝博188投注就好像在交流的想法中,我们最终能够超越纯粹的人类努力,实际上利用计算的力量。对我来说,把Wolfram语言建成计算通信语言,金宝博188投注很高兴看到它如何被用来在计算论文中如此有效地交流。金宝博188投注

当我收到一篇格式很好的计算论文时,我感到非常高兴。金宝博188投注因为我马上就知道我会得到一个真实的我能理解的故事。不会有任何缺失的来源和隐藏的假设;只有Wolfram语言输入是独立的,我可以自己出去学习或跑步。

现代网络世界给我们带来了一些新的交流方式,比如博客,以及社交媒体,像维基百科。但所有这些都遵循了从识字时代开始就存在的文本+图片的基本概念。有了计算论金宝博188投注文,我们终于有了新的东西,看到它所能做到的一切都会让人兴奋。

十二金宝博188.显示全部

  1. 嗨,史蒂芬
    这个博客深深地触动了我的心弦,离提交一篇完全以数学笔记形式撰写的统计学博士论文只有几周的时间了。
    我有一个附录,在其中我对这种陈述形式提出了异议,我引用理查德·克兰德尔1991年出版的《科学数学》一书的前言。
    今天我读了你的计算论文博客,金宝博188投注并添加了一节,指的是这个新的术语,一个旧的想法。
    我使用了程序化的“反向关闭”所有标题数字的单元格,事实证明,这对于制作吸引人的文档是非常有价值的,而这正是我在计算性文章中一直想要表达的。金宝博188投注
    我应该谢谢你,然后,为了你的道德支持,希望主考同意我们的做法!
    最美好的祝福
    巴里

    巴里斯托克斯
  2. 伟大的职位!
    作为概率统计导论的讲师,中心极限定理的笔记本给我留下了特别深刻的印象,我想知道是否还有更多关于这些主题的笔记本。

    鲁宾
  3. 你可能对唐纳德·克努斯(DonaldKnuth)这名计算机科学家开发的“识字编程”感兴趣。

    吉姆泰森
  4. 别忘了计算期刊的文章,金宝博188投注所有人都可以访问数据。

    戴维G鹳
  5. 你写,“真正使这项工作得以开展的是Wolfram语言。”我搞糊涂了。你的计算文章与你从减价中金宝博188投注得到的东西有什么不同?ipython笔记本,等。?

    • Wolfram语言支持我们的技术堆栈,创建一个内聚的过程。我们的笔记本从数据导入提供了完整的生产环境,原型制作,操作和测试都可以在同一个笔记本上进行,如部署到云或生成最终报告或演示文稿。它不需要像ipython笔记本那样与单独的工具捆绑在一起,使我们的笔记本电脑更适合计算论文,因为你不需要设置你的笔记本使用特定的库。金宝博188投注
      最重要的是,因为我们的语言统一了我们的技术堆栈,像python这样互不兼容的解释程序没有问题,甚至当你移居到可以使用多语言内核的Jupyter时,对于每种特定的语言,确保您拥有所需的每个包变得越来越困难。降价在笔记本中很有用,但是ipython笔记本的降价是不可折叠的,这使得它们很难构造。
      另外一个关键特性是我们内置的知识库。跨越数千个领域,知识库包含精心策划的专家知识直接来源于主要来源。它不仅包括数万亿个数据元素,但也有大量的算法封装了几乎每个领域的方法和模型。

      行政
  6. 我同意计算机论文是一项重要金宝博188投注的创新。他们一直都是数学的一个组成部分,这是多么美妙啊……这个想法的含义还在继续显现。我认为有趣的是,它给了“数学家做什么”一个新的更好的答案?计算金宝博188投注性的文章不仅仅是一个问题的解决方案,或者描述如何解决问题,但是,一个完整的模型和导游旅游,体现了比印刷纸更多的问题解决过程。

    一个显而易见的问题是,计算性文章能否以一种深刻的方式相金宝博188投注互联系,从而使文章链成为一个连续的证据?例如。一系列的计算文章能作为一个完整金宝博188投注的计算证明吗?说,威尔斯对费马最后定理的证明?如果不是,缺少什么?一篇计算文章金宝博188投注能证明一个可以“称为”的定理吗?在另一篇文章中,像计算函数?金宝博188投注在我看来,数学文献应该被看作是一个巨大的相互联系的结构,而不是孤立的不相容符号岛。

    为了充分理解这种形式的含义,我将自己写一些计算论文。金宝博188投注过去让我陷入困境的是,我想写的几乎所有东西都不能(我相信)用Wolfram语言表达,因为它们涉及直接操作(拖动和组装多胺,例如)作为输入,Wolfram语言似乎不支持。

  7. 你会考虑发布一个样式表来编写这种文档吗?还是输入描述文本单元格的默认样式?您使用的单元格样式(据我所知)在默认样式表中不可用。我仍然在使用这些细胞的旧数学模型,但要使用更新的样式。

    丹尼尔
    • 输入描述单元的样式将在下一个版本中提供,称为“代码文本”,虽然只能通过“格式>样式>其他”对话框访问。之后将提供完整的样式表支持。

      行政
  8. 我对这些计算笔记本(wolfram alpha/jupyter)唯金宝博188投注一的问题是,图形与文本混合在一起,使得我难以集中注意力。我认为一个简单的双列用户界面可能更好,从计算中分离文本。

    德凯泽凯文
隐藏注释»金宝博188

?斯金宝博188正网蒂芬·沃尔夫拉姆,有限责任公司 条款γ RSS