前言Mathematica是一个老牌的科学计算软体,在数据分析、数学计算等领域提供了强大方便的使用功能。最近笔者在学习集智学园的Mathematica入门教程,收获很大。Mathematica的功能非常强大,原生函数非常多,有近5000个,并涉及多个领域。笔者作为一个初学者,本文不可能面面俱到。因此笔者根据工作需要进行了取舍,集中介绍可视化、代数运算、图以及自然语言处理四方面的常用函数。一、安装使用

首先 Mathematica是一个付费软体,具体步骤是,去官网注册账户,然后根据情况选择购买。我这里首先是尝试试用,有15天的试用期。下载安装后直接使用即可。

官网地址:wolfram.com/mathematica二、基本使用技巧说是技巧,其实也就是笔者遇到问题自己解决问题的过程。下面通过几个例子来解释。如果我知道有一个函数名字叫做Plot,具体参数不记得怎么用了。通过在函数名前加问号,然后可以调出关于这个函数的基本用法解释。截图如下,可以看到,解释非常清晰。

注意看到上面截图的右下方有一个 >> 符号,点击后可以进入该函数的详细文档界面,里面不仅给出了某个函数的用法,而且给出了大量的例子说明。

笔者遇到的另一个问题就是,如何书写特定数学标识符。最简单的办法,就是通过左上角菜单栏里面点击 面板>数学助手/书写助手,这样初学者书写数学公式就非常简单了。数学助手的面板如下,可以有一个直观的印象。

如果除了特定函数文档,想要系统探索或者学习怎么办呢?mathmatica提供了详细的,包含各个类别的使用技巧。具体可直接点击菜单栏 帮助>Wolfram参考资料。下面截图是参考资料的首页展示,可以看到各类功能非常齐全,可根据需要自主学习相应的版块。

三、常用可视化函数1.Plot 函数用法一:

Plot 函数基本用法接受两个参数,第一个是要绘制的函数,第二个用{ }包含,里面分别有自变数,自变数的最小值和自变数的最大值。举例如下:

Plot[Sin[x], {x, 0, 2 Pi}]上面这行代码绘制图像如下:可以看到,mathmatica中,函数后跟方括弧[],而不是通常编程语言中的小括弧()。后面看到的其他函数均是这一格式。

用法二:如果想要在一张图中绘制多个图像怎么办?这时只要修改参数一,用花括弧{}包含多个函数即可。具体可看下面的例子:Plot[{x^2, x}, {x, 0, 1}]

2.Plot3D 绘制三维图像Plot3D 函数用于绘制三维图像,参数的用法与Plot函数类似。例如,下面代码绘制一个高斯函数:Plot3D[Exp[-(x^2 + y^2)], {x, -3, 3}, {y, -3, 3}, PlotRange -> All]注意这里的PlotRange -> All是一个可选参数,设置绘制范围。mathmatica中这种可选参数很多,具体可查询文档,根据实际需要选用。

上面是最常见的两个绘图函数。Mathemtica还提供了大量其他绘图函数,具体参数用法与Plot和Plot3D类似,可以根据实际情况选择使用。下面展示几个:

DensityPlot[Sin[x] Cos[y], {x, 0, 2 Pi}, {y, 0, 2 Pi}]

VectorPlot3D[{x, y, z}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}]

四、可视化参数配置1.添加标记参数AxesLabel 设置坐标轴标签。例如:

Plot[Sin[x], {x, 0, 2 Pi}, AxesLabel -> {time, price}]

可以看到,现在x轴显示为time,y轴显示为price。

参数PlotLabel设置整个图的标签。例如:Plot[Sin[x], {x, 0, 2 Pi}, AxesLabel -> {time, price}, PlotLabel -> 股价波动]

参数PlotLegends添加图例。例如:Plot[{x^2, x}, {x, 0, 1}, PlotLegends -> {x的平方, x}]

可以看到,图的右侧显示出了图例。

2.范围调节PlotRange设置x轴和y轴的范围,例如:Plot[{x^2, x}, {x, 0, 5}, PlotRange -> {{0, 2}, {0, 2}}]可以看到,上面虽然将自变数x的范围设置为0-5,但是画图时将x轴标尺范围设置为0-2,y轴标尺范围也设置为0-2。

3.风格调节

PlotStyle调节风格,例如:Plot[{x^2, x}, {x, 0, 5}, PlotStyle -> {{Black, Thick}, {Gray, Dashed}}]可以看到,此时第一个函数绘制成了黑色粗线,第二个绘制成了灰色虚线。

五、常用数学计算1.求极限,使用Limit

2.求数列和,使用Sum

可以看到,这里使用的是解析解。

3.解递推方程,使用RSolve

4.求微分,使用D下面分别求一次和二次偏导

5.求积分

六、图与网路1.首先画出简单的图有向图,有向连接可以通过键盘 esc de 得到快捷提示。

无向图,无向连接可以通过键盘 esc ue 得到快捷提示。

2.生成邻接矩阵利用随机数生成邻接矩阵图

3.Barabasi-Albert模型Wiki对该模型的定义是:The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.

4.使用 VertexDegree 输出每个节点的度

七、常用自然语言处理方法1.计算文本中单词数量简单计算总数量

计算单词出现频率

计算2-grams

计算特定单词出现频率,注意第二个参数指定特定单词

2.计算编辑距离

3.识别语言类型

4.文本语法结构剖析

5.一些文本预处理方法文本切割为单词列表。

文本切割为句子列表。

去停用词

6.词云生成

mathmatica的功能非常强大,上面仅仅是笔者根据工作需要学习的特定的几个方面。不得不说,经过两周的学习,笔者也仅仅掌握了一些特定的函数,如果真正想要精通,长期大量使用和练习是离不开的。希望本文能给读者一些帮助。

作者:yao本文为yao同学关于《Mathematica基础入门教程》的学习笔记,更多知识可扫描下方二维码进行深入学习。

campus.swarma.org/gpac= (二维码自动识别)

课程地址:campus.swarma.org/gpac=(扫描二维码或者点击阅读原文即可免费试听首节课

关注集智AI学园公众号

获取更多更有趣的AI教程吧!搜索微信公众号:swarmAI集智AI学园QQ群:426390994学园网站:campus.swarma.org商务合作和投稿转载|[email protected]


推荐阅读:
相关文章