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

Mathematica作为一种交互式计算工具,能够智能化理解用户输入的英文计算命令,使用方便。它作为一种程序语言,语法规则简单,语句精炼,能够使用较少语句完成复杂计算和公式推导等任务。用户可以选择单命令对话方式或批处理程序方式进行计算。

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

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

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

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条重要语法规则。

  • 启动软件后,出现Notebook窗口。输入用In[ ]表示,输出用Out[ ]表示,按“Shift+Enter”键运行计算。
  • 用户在Notebook界面下,使用“?”或“??”可查询函数的定义和用法,获取帮助信息。如果使用两个问号“??”,则帮助信息会更详细。例如,“?Plot*”给出所有以“Plot”开头的命令。
  • 完成计算后,点击File->Exit菜单退出。如果文件未存盘,系统将提示用户存盘,文件名以“.nb”作为后缀,称为Notebook文件。需要再次使用存盘的文件时,可以点击打开。
  • Mathematica 严格区分大小写。内置函数的首字母须大写。当函数名由几个单词构成时,每个单词的首写字母必须大写,例如:求局部极小值函数FindMinimum[f[x], {x, x0]。
  • 用户自定义变量须以小写字母开头,后跟数字和字母的组合,长度不限。
  • 特殊字符:
    Pi 表示圆周率。E表示自然常数。Degree表示角度转换为弧度的常数,等于Pi/180。I表示虚数单位,其值为-1的平方根。
  • 变量赋值规则:
    x=a表示将变数x的值设为a。x=y=b表示将变数x和y的值均设为b。x=.或Clear[x]表示清除变数x的值。Remove[f]表示将f从系统中清除。
  • 变量关系规则:
    当xy中间没有空格时,视为变量xy。当x y中间有一个空格时,视为x乘y。3x表示3乘x。x3表示变量x3。
  • 函数名和自变量参数之间用分隔符[ ]表示,而不是用数学书上常用的圆括号“( )”表示。
  • 变量的列表值和范围用大括号{ }表示。
  • 关于数学表达式的输入,Mathematica允许用户使用以下两种格式。形如x/(1+7x)+y/(x-2)的称为一维格式。形如下式的使用工具栏输入的格式称为二维格式:

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

二维格式

  • 函数的展开与分解:
    Expand[expr]表示将expr展开。Factor[expr]表示对expr做因式分解。Simplify[expr]表示将expr化简成精简的式子。FullSimplify[expr]表示Mathematica会尝试更多的化简公式,将expr化为更精简的式子。
  • 常用数学函数:
    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、…的极大值和极小值。
  • 关系运算子:
    a==b表示等于。a!=b表示不等于。a>b表示大于。a>=b表示大于等于。a<b表示小于。a<=b表示小于等于。
  • 基本运算法则:
    a^b表示幂次方。a+b+c表示加法。2+6I表示复数形式。Conjugate[a+bI]表示共轭复数。Re[z]和Im[z]分别表示复数z的实数和虚数部分。Abs[z]表示复数z的大小或模数(Modulus)。Arg[z]表示复数z的幅角(Argument)。
  • 求和与求积法则:
    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递增。
  • 微分法则:
    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的函数。
  • 积分法则:
    Integrate[f, x]表示将函数f相对于x进行不定积分。Integrate[f, {x, xmin, xmax}]表示将函数f相对于x进行定积分。Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}]表示将函数f相对于x和y进行定积分。
  • 方程式求解法则:
    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的根。
  • 作图函数主要包括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等。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/soft/26409.html

发表评论

登录后才能评论