介绍
说到Mathematica,就不得不提到Matlab。我第一次知道这个软件,也是由于当时需要用Matlab,就在搜索Matlab的时候,看到了别人对比Matlab和Mathematica。由于我本科也算是半个通信人,因此使用Matlab较多,但现在,没有了通信等的需求之后,而是将软件作为自己平时学习的工具,我发现Mathematica是真的好用。
在我看来,对于我这种非数学专业的人而言,Mathematica可以看作是一个十分好用和强大的计算器。它的语法简单,还可以进行符号运算,可以对带有未知参数的方程求解,还有着强大的模式匹配功能,更重要的是,也是我很喜欢的一点,那就是用极短的代码实现很强大的功能,但代价就是难以看懂,哈哈哈。有关Matlab和Mathematica的选择问题,我看到过一个回答,说的挺不错的,那就是如果十行代码可以解决问题,那么就选择Mathematica,否则就Matlab。其实这句话的意思就是,Matlab更适合做工程,而Mathematica更适合解决比较小的问题。当然,这个回答也是比较片面的。

我现在不用Matlab,还有一个很大的原因,就是由于它是以矩阵为运算单元的,涉及到函数等运算的时候,往往都需要考虑矩阵,考虑行和列是否匹配等问题,当初学的时候,总是忘记将乘法写成.*,对我这种用于辅助计算就十分不直观。
Mathematica吸引我的地方还有以下几个地方:
- 表达式的输入。如上图所示,你不需要写成a*x^2+b*x+c,而是可以写成我们书写的形式,更为方便直观,而且使用起来并不复杂,其快捷键是十分好记的。
- 笔记本模式。如上图所示,打开软件,创建文件后,就是这个界面,其使用方法和python的jupyter几乎一样。输入代码后,然后按下shift+enter就可以执行,或者直接按下数字小键盘出的enter键。同时,这个页面也可以像Word一样输入文本,在格式->样式里就可以看到多种多样的输入样式。在界面的右侧,那些类似于中括号的形状,就代表每一个小节,可以通过这个很方便的看出笔记本的结构,也可以通过点击这里,来快速删除该小节。
- 强大的帮助文档。Mathematica的帮助文档是很详细的,还有着详细的例子。
- Mathematica语言足够强大,也足够丰富。
使用
软件的使用就不多说了,主要是说一下这门语言(以下简称mma)。
和众多编程语言一样,它也是通过给定函数以及相应的参数,来实现相应的功能,但是也有区别。随着对mma的不断了解,与其称其为函数,不如称为表达式,这也是mma中的一大特点——万物皆表达式。mma中的函数都是以大写开头的,比如Sin,Solve等,内置的一些特殊的数也是以大写开头的,比如Pi,E等,因此,如果需要定义变量,尽量不要以大写开头,防止与内置表达式冲突。
函数使用中括号[]来调用参数,例如Sin[Pi/2]。mma中的列表使用大括号{}。
作为一款数学软件,mma的结果是十分准确的,也就是说mma会给出你尽量精确的结果,例如你输入1/3,那么返回结果也将是1/3,而不是0.33333等。如果你想知道在这方面它有多强大,对于浮点数而言,它可以保存许多许多位,至于多少位,我也不清楚。在mma中,如果你想将结果保留几位有效数字,使用的是N这个函数,例如N[1/3, 3],返回结果将是0.333。如果你输入N[1/3, 3000],可以发现真的返回了3000位有效数字。我们知道,在C语言等中,浮点数往往是double类型,也就是32位。可以发现mma计算能力的强大。
在笔记本界面中,默认情况下,对于未赋值的变量,会显示为蓝色,而赋值之后,也就是定义过的变量,会显示为黑色。
可以通过计算->退出内核->local,来清除当前笔记本中的所有变量信息。也可以使用Clear["Global`*"],其中,这个Global就表示全局的语境,也可以定义新的语境,不同语境间的变量是互不影响的,就类似于全局变量和局部变量。
写在最后
Mathematica不仅仅在数学方面拥有着强大的功能,更是在许多方面。
知乎上有篇文章,看完之后,你或许能够感受到Mathematica的强大,以及感叹于它内建函数的丰富。链接:Mathematica 到底有多厉害?。
因此,Mathematica是一个十分值得探索的软件,它可以直接将图片作为参数,然后对其处理,也可以实现爬虫,还可以做一些小游戏,绘制很多优美的图像及曲线,更拥有着丰富的数据库,你甚至可以查询食物信息,知名人士的出生日期,地理信息等等。
不过,我用它还是因为它强大的科学计算能力,也是我平时最主要的用途。
有关Mathematica相关的课程,可以看刘思齐老师的讲解,B站有资源,链接:北京某高校《Mathematica及其应用》 (共八讲) (已完结)
b站好友前来支持~~~~加油
嗯嗯,谢谢支持