英论阁Enago官方博客分享 http://www.blog.sciencetimes.com.cn/u/Enago

博文

Mathematica——能与MATLAB媲美的强大计算工具

已有 1816 次阅读 2021-7-30 10:33 |个人分类:期刊发表|系统分类:科研笔记

pexels-thisisengineering-3862130.jpg

提到计算,人们马上联想到的可能是使用计算器和Excel表格。实际上,对于更加复杂的工程计算、编程和作图需求,目前最流行的两大软件是MATLAB和Mathematica。它们均在高校教学、学术界和工业界发挥着重要作用。MATLAB更加适合工程应用,Mathematica更加适合数学分析。

Mathematica是由美国的沃尔夫勒姆(Wolfram)研究公司开发的计算软件,于1988年问世,在数值计算、符号运算、数学绘图和动画显示等方面具有强大能力。Mathematica作为一种交互式计算工具,能够智能化理解用户输入的英文计算命令,使用方便。它作为一种程序语言,语法规则简单,语句精炼,能够使用较少语句完成复杂计算和公式推导等任务。用户可以选择单命令对话方式或批处理程序方式进行计算。

Mathematica内置大量函数,例如Abs[x]表示x的绝对值,Random[]表示产生[0, 1]区间上的随机数,Factor[expr]表示对expr进行因式分解,Plot[f[x], {x, xmin, xmax}]表示对函数f作图。它可以求解方程、方程组和不等式,例如使用Solve[x2-2x+1==0, x] 命令求解方程中的未知数x。它可以求导数,例如使用D[f, x1, x2, x3] 命令能够求f关于x1、x2、x3的偏导数。它可以求积分,例如使用Integrate[f, {x, a, b}]命令能够求函数f相对于x在x=a到x=b的范围内的积分值。它还可以求解常微分方程和偏微分方程,例如使用DSolve[{x’’[t]-3x’[t]+8y’[t]+4y[t]==0, x’[t]-2y’[t]+7x[t]==3 Exp[t]}, {x[t], y[t]}, t]的命令能够求解自变量为t的常微分方程组。从以上几个例子可以看出,Mathematica的计算方式是使用大量内置函数命令,非常便于计算和公式推导,免去了用户查找算法并使用FORTRAN或C语言自己编程的麻烦。

Mathematica与MATLAB在很多计算、绘图和编程的功能上类似。它们之间的区别可以归纳为以下几点,各有优劣。

  1. MATLAB在软件语言规则、编程便利性和程序调试方面比Mathematica更加方便易用。

  2. MATLAB包括各种工具包,例如信号处理工具包、优化工具包、神经网络工具包、控制系统工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。

  3. 由于Mathematica提供一种称为“Notebook”的用户界面,格式灵活友好,因此用户能够很容易地将计算结果直接存成汇报演讲稿格式的文件,在这方面比MATLAB更加方便。

关于Mathematica的使用方法,本文从网上精选出一个详细的视频指南和一个讲座示例,建议读者观看。掌握Mathematica的关键是熟悉其语法规则。以下总结它的20条重要语法规则。

  1. 启动软件后,出现Notebook窗口。输入用In[ ]表示,输出用Out[ ]表示,按“Shift+Enter”键运行计算。

  2. 用户在Notebook界面下,使用“?”或“??”可查询函数的定义和用法,获取帮助信息。如果使用两个问号“??”,则帮助信息会更详细。例如,“?Plot*”给出所有以“Plot”开头的命令。

  3. 完成计算后,点击File->Exit菜单退出。如果文件未存盘,系统将提示用户存盘,文件名以“.nb”作为后缀,称为Notebook文件。需要再次使用存盘的文件时,可以点击打开。

  4. Mathematica 严格区分大小写。内置函数的首字母须大写。当函数名由几个单词构成时,每个单词的首写字母必须大写,例如:求局部极小值函数FindMinimum[f[x], {x, x0]。

  5. 用户自定义变量须以小写字母开头,后跟数字和字母的组合,长度不限。

  6. 特殊字符:
    Pi 表示圆周率。

    E表示自然常数。

    Degree表示角度转换为弧度的常数,等于Pi/180。

    I表示虚数单位,其值为-1的平方根。

  7. 变量赋值规则:
    x=a表示将变数x的值设为a
    x=y=b表示将变数x和y的值均设为b。
    x=.或Clear[x]表示清除变数x的值。
    Remove[f]表示将f从系统中清除。

  8. 变量关系规则:
    当xy中间没有空格时,视为变量xy。
    当x y中间有一个空格时,视为x乘y。
    3x表示3乘x。
    x3表示变量x3。

  9. 函数名和自变量参数之间用分隔符[ ]表示,而不是用数学书上常用的圆括号“( )”表示。

  10. 变量的列表值和范围用大括号{ }表示。

  11. 关于数学表达式的输入,Mathematica允许用户使用以下两种格式。形如x/(1+7x)+y/(x-2)的称为一维格式。形如下式的使用工具栏输入的格式称为二维格式:
    image.png

  12. 函数的展开与分解:
    Expand[expr]表示将expr展开。
    Factor[expr]表示对expr做因式分解。
    Simplify[expr]表示将expr化简成精简的式子。
    FullSimplify[expr]表示Mathematica会尝试更多的化简公式,将expr化为更精简的式子。

  13. 常用数学函数:
    Sin[x], Cos[x], Tan[x], Cot[x], Sec[x], Csc[x]表示三角函数,其引数的单位为弧度。
    Sinh[x], Cosh[x], Tanh[x]表示双曲函数。
    ArcSin[x], ArcCos[x], ArcTan[x]表示反三角函数。
    Sqrt[x]表示根号。
    Exp[x]表示指数。
    Log[x]表示自然对数。Log[a, x]表示以a为底的对数。
    Abs[x]表示绝对值。
    Round[x]表示最接近x的整数。
    Floor[x]表示小于或等于x的最大整数。
    Ceiling[x]表示大于或等于x的最小整数。
    Max[a, b, c, ...]和Min[a, b, c, …]分别表示a、b、c、…的极大值和极小值。

  14. 关系运算子:
    a==b表示等于。
    a!=b表示不等于。
    a>b表示大于。
    a>=b表示大于等于。
    a<b表示小于。
    a<=b表示小于等于。

  15. 基本运算法则:
    a^b表示幂次方。
    a+b+c表示加法。
    2+6I表示复数形式。
    Conjugate[a+bI]表示共轭复数。
    Re[z]和Im[z]分别表示复数z的实数和虚数部分。Abs[z]表示复数z的大小或模数(Modulus)。Arg[z]表示复数z的幅角(Argument)。

  16. 求和与求积法则:
    Sum[f, {i, imin, imax}]表示求和。
    Sum[f, {i, imin, imax, di}]表示求数列之和,引数i以di递增。
    Product[f, {i, imin, imax}]表示求积。
    Product[f, {i, imin, imax, di}]表示求数列之积,引数i以di递增。

  17. 微分法则:
    D[f, x]表示将函数f相对于x进行微分。
    D[f, x1, x2, …]表示将函数f相对于x1、x2、…进行微分。
    D[f, {x, n}]表示将函数f相对于x进行n次微分。
    D[f, x, NonConstants->{y, z, …}]表示对函数f相对于x进行微分,并将y、z、…视为x的函数。

  18. 积分法则:
    Integrate[f, x]表示将函数f相对于x进行不定积分。
    Integrate[f, {x, xmin, xmax}]表示将函数f相对于x进行定积分。
    Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}]表示将函数f相对于x和y进行定积分。

  19. 方程式求解法则:
    Solve[lhs==rhs, x]表示求解方程式lhs==rhs,x是自变量。
    Nsolve[lhs==rhs, x]表示求方程式lhs==rhs的数值解。
    Solve[{lhs1==rhs1, lhs2==rhs2, …}, {x, y, …}]表示求解方程组, x和y等是自变量。
    NSolve[{lhs1==rhs1, lhs2==rhs2, …}, {x, y, …}]表示求解方程组的数值解。FindRoot[lhs==rhs, {x, x0}]表示由初始点x0求方程lhs==rhs的根。

  20. 作图函数主要包括Plot、Plot3D、ParametricPlot、ParametricPlot3D、PolarPlot、ContourPlot、ContourPlot3D、RevolutionPlot3D、SphericalPlot3D、DensityPlot、DensityPlot3D、RegionPlot、RegionPlot3D、ListPlot、ListPlot3D、ListContourPlot、ListContourPlot3D、ListContourPlot3D、ListPointPlot3D、ListDensityPlot、ListDensityPlot3D。统计图作图函数主要包括Histogram、Histogram3D、DensityHistogram、SmoothHistogram3D等。



英论阁英文润色 术翻译  期刊投稿支持

请关注英论阁微信公众号
EnagoChina

image.png

更多科研出版干货就在
SCI论文学术交流平台
EnagoAcademy


EnagoSubscription.jpg





http://www.blog.sciencetimes.com.cn/blog-681387-1297608.html

上一篇:读博前就该拥有的十大技能
下一篇:助理教授谈如何克服读博的困难

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-10-28 09:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部