李華英
(高等教育出版社 北京市 100029)
教育興則國家興,教育強則國家強。高等教育是一個國家發展水平和發展潛力的重要標志。高等教育的發展除了需要優秀的師資隊伍以外,優秀的教材也是必不可少的。一本優秀教材的出版,需要很多人的共同努力,首先需要高水平的編寫人員,但是水平再高的人也難免出錯,這就需要出版社的編輯嚴把質量關了。編輯需要從政治性、知識性、科學性、語言文字等各個方面查找書稿中的問題。而作為數學編輯,除了要關注以上問題外,更要重點關注書稿中的計算錯誤。為了達到良好的教學效果,一般的數學教材都會在每章或每節的末尾設置一些練習題,同時將參考答案放在書末。參考答案對于使用這本教材的教師和學生都有重要的參考價值。但是由于這部分內容通常比較簡略,只給出簡單的步驟,甚至只有一個計算結果,這就給編輯的審讀工作造成很大困難。如果編輯自己來計算驗證這些答案,將會增加很大的工作量,而如果利用數學軟件來解決這些計算問題,將能極大地幫助編輯提高工作效率,節約出更多的時間和精力關注書稿中的其他問題。
Mathematica 和MATLAB、Maple 并稱為三大數學軟件。Mathematica 是一款科學計算軟件,很好地結合了數值和符號計算引擎、圖形系統、編程語言、文本系統、和與其他應用程序的高級連接。Mathematica 軟件界面直觀,便于安裝,且提供了很好的幫助功能,新手容易上手。在Windows 環境下安裝好Mathematica,運行后,在計算機屏幕上顯示一個工作窗口,這時可以在窗口中輸入你想計算的東西,例如,輸入:1+2,同時按下Shift 鍵和Enter鍵,這時Mathematica 開始工作,計算出結果。窗口中的顯示是:In[1]:=1+2;Out[1]=3。“In[1]:=”表示的是系統中的第一次輸入,“Out[1]=”表示的是系統中的第一次輸出,是系統自動加上的,接下來是系統的第二次輸入、輸出,按這樣的方式可利用Mathematica 進行“會話式”計算。
在使用Mathematica 時,要注意以下幾點:[1]
(1)Mathematica 中大寫和小寫是有區別的。
(2)系統所提供的功能大部分以系統函數的形式給出,內部函數一般寫全稱,而且一定是以大寫英文字母開頭。
(3)Mathematica 中用“+”、“-”、“*”、“/”和“^”分別表示算術運算中的加、減、乘、除和乘方。乘法既可以用*,又可以用空格表示。
(4)自定義的變量可以取系統函數名稱之外的任意名稱,長度不限,但不能以數字開頭。當你賦予變量任何一個值時,除非你明顯地改變該值或使用Clear[變量名]或“變量名=.”取消該值,否則它將始終保持原值。
(5)一定要注意四種括號的用法:()圓括號表示項的結合順序;[ ]方括號表示函數;{ }花括號表示一個“表”(一組數字、任意表達式、函數等的集合);[[ ]]雙方括號表示“表”或“表達式”的下標。
下面我以兩類常見書稿為例,介紹一下Mathematica 軟件在一些典型題目中的應用。
在命令窗口中輸入:Limit[n*((n^2+1)^(1/2)-n),n →∞]
按下Shift+Enter 鍵,則窗口中顯示:

例2(導數)求函數sin(xcos3x)的導數。
In [1]:=D[Sin[x*Cos[3*x]],x]
Out[1]= Cos[x Cos[3 x]](Cos[3 x]-3 x Sin[3 x])
In [1]:= Integrate[(x^4+1)/(x^6+1),x]

In [1]:= Integrate[1/(x^2+4*x+5),{x,0,1}]
Out[1]=-ArcTan[2]+ArcTan[3]
例5(函數圖像)作y=sinx 和y=cosx 在[0,2π]內的圖像,且兩坐標軸上的單位比為1:1。
在命令窗口中輸入:
Plot[{Sin[x],Cos[x]},{x,0,2Pi},AspectRatio →Automatic,PlotStyle→{RGBColor[0,0,1],Dashing[{0.02,0.05}]}]
輸出如圖1所示。

圖1
在命令窗口中輸入:Det[{{1,2,5},{0,2,-4},{200,600,800}}]
按下Shift+Enter 鍵,則窗口中顯示:
In [1]:= Det[{{1,2,5},{0,2,-4},{200,600,800}}]
Out[1]=400
為了顯示更加清晰,可以將兩個矩陣分別定義為符號A 和B,然后計算AB 的值。窗口中顯示如下:
In [1]:=A={{1,0,1},{2,1,3}}
Out[1]={{1,0,1},{2,1,3}}
In [2]:=B={{6,2,1},{0,2,0},{3,-5,4}}
Out[2]={{6,2,1},{0,2,0},{3,-5,4}}
In [3]:=Dot[A.B]
Out[3]={{9,-3,5},{21,-9,14}}
In [1]:=MatrixPower[{{1,-2},{3,4}},3]
Out[1]={{-35,-30},{45,10}}
In [1]:=a={{0,0,5,2},{0,0,2,1},{2,2,0,0},{3,2,0,0}}
Out[1]={{0,0,5,2},{0,0,2,1},{2,2,0,0},{3,2,0,0}}
In [2]:=Inverse[a]

In [1]:=b={{1,2,3,4},{1,-2,4,5},{1,10,1,2}}
Out[1]={{1,2,3,4},{1,-2,4,5},{1,10,1,2}}
In [2]:=MatrixRank[b]
Out[2]=2
In [1]:=Solve[{2x-y+5z==7,3x+y-2z==-1,x+4y+6z==-1}]

In [1]:=c={{1,2,2},{2,1,2},{2,2,1}}
Out[1]={{1,2,2},{2,1,2},{2,2,1}}
In [2]:=Eigenvalues[c]
Out[2]={5,-1,-1}
In [3]:=Eigenvectors[c]
Out[3]={{1,1,1},{-1,0,1},{-1,1,0}}
Mathematica 系統內核提供了豐富的數學計算的函數,復雜的數學問題簡化為對函數的調用,極大地提高了解決問題的效率。[3-8]Mathematica 中也可以根據需要自定義函數。以上實例僅展示了可應用于《高等數學》和《線性代數》中的最基本也是最常用的函數命令。想要了解更多的函數命令,可以在“幫助”欄中查看搜索。有了Mathematica 軟件的輔助,數學教材編輯可以把大部分計算問題交給軟件解決,出來的結果既準確又快速,這可以讓編輯把更多的時間和精力花在書稿中更深層次的問題上,有效提高書稿質量,打造精品教材,為高等教育的發展貢獻一份力量。