提到計算,人們馬上聯想到的可能是使用計算器和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在很多計算、繪圖和編程的功能上類似。它們之間的區別可以歸納為以下幾點,各有優劣。
- MATLAB在軟件語言規則、編程便利性和程序調試方面比Mathematica更加方便易用。
- MATLAB包括各種工具包,例如信號處理工具包、優化工具包、神經網絡工具包、控制系統工具包、樣條工具包、符號數學工具包、圖像處理工具包、統計工具包等。
- 由於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)的稱為一維格式。形如下式的使用工具欄輸入的格式稱為二維格式:
二維格式
- 函數的展開與分解:
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等。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/253091.html