




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
符號(hào)計(jì)算系統(tǒng)Mathematica
及其應(yīng)用
眾所周知,高等數(shù)學(xué)中許多重要方法,如求極限、
求導(dǎo)數(shù)、求不定積分、求定積分、解常微分方程、向量
運(yùn)算、求偏導(dǎo)數(shù)、計(jì)算重積分、級(jí)數(shù)展開(kāi)等,只靠筆算
難以完成.為提高讀者用高等數(shù)學(xué)解決實(shí)際問(wèn)題的能
力,本章將對(duì)符號(hào)計(jì)算系統(tǒng)Mathematica及其在上述運(yùn)
算中的應(yīng)用進(jìn)行簡(jiǎn)單介紹.
第一節(jié)初識(shí)符號(hào)計(jì)算系統(tǒng)Mathematica
第二節(jié)用Mathematica做高等數(shù)學(xué)
W回EC
第一節(jié)初識(shí)符號(hào)計(jì)算系統(tǒng)Mathematica
、舁術(shù)運(yùn)舁七、自定義函數(shù)
—、代數(shù)運(yùn)算八、表
三、系統(tǒng)的幫助九、解方程
四、Notebook與Cell一、Which語(yǔ)句
五、常用函數(shù)----、Print語(yǔ)句
六、變量
第一節(jié)初識(shí)符號(hào)計(jì)算系統(tǒng)Mathematica
大家知道,計(jì)算機(jī)是應(yīng)數(shù)值計(jì)算的需要而誕生的.今
天,計(jì)算機(jī)已從單純的數(shù)值計(jì)算功能發(fā)展到文字處理、
數(shù)學(xué)推理與圖形變換等功能,正在不斷改變著我們的工
作及生活方式,使人類的勞動(dòng)效率及生活水平都在不斷
提高.隨著計(jì)算機(jī)的逐步普及,人們對(duì)計(jì)算機(jī)的依賴程
度越來(lái)越高.數(shù)學(xué)軟件包就是為方便廣大工程技術(shù)人員、
大專院校師生及科學(xué)技術(shù)人員用計(jì)算機(jī)處理數(shù)學(xué)問(wèn)題而
提供的軟件工作平臺(tái).數(shù)學(xué)軟件包不僅能方便的進(jìn)行數(shù)
值計(jì)算,而且能方便的進(jìn)行數(shù)學(xué)表達(dá)式的化簡(jiǎn)、因式分
解、多項(xiàng)式的四則運(yùn)算等數(shù)學(xué)推理工作,一般稱后者為
符號(hào)計(jì)算.因此,數(shù)學(xué)軟件包又稱為符號(hào)計(jì)算系統(tǒng).
Mathematica系統(tǒng)是目前世界上應(yīng)用最廣泛的符號(hào)
計(jì)算系統(tǒng),它是由美國(guó)伊利諾大學(xué)復(fù)雜系統(tǒng)研究中心主
任、物理學(xué)、數(shù)學(xué)和計(jì)算機(jī)科學(xué)教授StephenWolfram
負(fù)責(zé)研制的.該系統(tǒng)用C語(yǔ)言編寫(xiě),博采眾長(zhǎng),具有簡(jiǎn)
單易學(xué)的交互式操作方式、強(qiáng)大的數(shù)值計(jì)算功能及符號(hào)
計(jì)算功能、人工智能列表處理功能以及像C和Pascal
語(yǔ)言那樣的結(jié)構(gòu)化程序設(shè)計(jì)功能.它有Dos環(huán)境下及
Windos環(huán)境下的幾種版本.這里主要介紹Windos環(huán)境
下的2.21版本在高等數(shù)學(xué)中的應(yīng)用,其他版本類似.
一、用Mathematica作算術(shù)運(yùn)算
雙擊Mathematica之圖標(biāo),啟動(dòng)Mathematica
系統(tǒng),計(jì)算機(jī)屏幕出現(xiàn)Mathematica的工作窗口(見(jiàn)下
圖),此時(shí)可以通過(guò)鍵盤(pán)輸入要計(jì)算的表達(dá)式.
1.<MathematicaforWindows-[Newnb-l]
-FileEditCell①-aphActionStyleOptionsWindowHelp
Inpul□m回司同國(guó)rnrwinrm向mi
」1」二-ll-jjjl」1-1一』一」一」-?Jl-l^-t」J-i^」^Jl」J-l^」.Jl」Jji」《^Jl」J」i」-Jl」J-li」^Jl「l」一」iJl」lJ-l1」>?jl?Jj-i?^^l-ij
>1
ticaFrontEndReady32276KBytesFree
刈奐"七力caforWin.《國(guó)1:03
例1計(jì)算100!
解在主工作窗口用戶區(qū)(見(jiàn)下頁(yè)圖)中,輸入100!
AMathematicaforWindows-[Newnb-l]HEIS
FileE.ditCellGt-aphActionStyleOptionsWindowHelp一國(guó)x|
[input06聞;刃
一‘1」一」一」^J.u二q」出一」二」一」.
100!
Out[i]=
93326215443944152681699238856266700490715968264381621\
4685929638952175999932299156089414639761565182862536\
97920827223758251185210916864000000000000000000000000
1U
:芨I開(kāi)始|過(guò)分寸:切I
注意:在上圖中,=與Out[l]=均是在運(yùn)算
后由系統(tǒng)自動(dòng)給出的,用戶不能自己輸入.
例2求表達(dá)式2X42-104-(4+1)的值.
解在工作窗口輸入表達(dá)式2^2-10/(4+1)后,
單擊運(yùn)算按鈕的,得運(yùn)算結(jié)果30(見(jiàn)下圖).由上例不
難看出+、-、*、/、C分別為Mathematica系統(tǒng)中的加、
減、乘、除及乘方的運(yùn)算符號(hào),其運(yùn)算規(guī)律與初等數(shù)學(xué)
中的規(guī)定是一致的.下圖中,%代表上一個(gè)語(yǔ)句的輸出結(jié)
果,該例中指30.
例3分別求面積為60c/的圓盤(pán)的半徑與直徑(保
留10位有效數(shù)字)
解In[l]:=N[(60/Pi廠(1/2),10]
Out[1]=4.370193722
In[2]:=N[2*0ut[1],10]
Out[2]=8.740387445
田(60加1廣(1/2),20]中的?1代表圓周率",
它是Mathematica系統(tǒng)中提供的數(shù)學(xué)常數(shù),系統(tǒng)中
的數(shù)學(xué)常數(shù)還有E(自然對(duì)數(shù)的底)、I(虛單位二I)
等.
N[(60/Pi)^(l/2),10]表示在計(jì)算表達(dá)式
(60/Pi)Y1/2)的值時(shí)保留10位有效數(shù)字.N[表達(dá)
式,m]為Mathematica系統(tǒng)中的求值函數(shù),它表示對(duì)
給定的表達(dá)式求出具有m位有效數(shù)字的數(shù)值結(jié)果.
W曰E][
二、代數(shù)運(yùn)算
Mathematica的一個(gè)重要的功能是進(jìn)行代數(shù)公式
演算,即符號(hào)運(yùn)算.
例4設(shè)有多項(xiàng)式3丁+2和
(1)求二者的和、差、積、商;
(2)將二者的積展開(kāi)成單項(xiàng)式之和;
(3)將二者的積進(jìn)行分解因式.
解In[1]:=p1=3*12+2xT
Out[1]=-l+2x+3x2
In[2]:=p2=x2-l
Out[2]=-1+x"
In[3]:=pl+p2
2
Out[3]=-2+2x+4x
In[4]:=pl-p2
Out[4]=2x+2x
In[5]:=pl*p2
Out[5]=(-l+x2)(-l+2x+3x2)
In[6]:=pl/p2
(—l+2x+3x2)
Out[6]=---------------
2
-l+x
In[7]:=Factor[pl*p2]
Out[7]=(-1+x)(1+x)2(-l+3x)
In[8]:=Expand[pl*p2]
Out[8]=1-2X-4X2+2X'+3X1
由例4可以看出多項(xiàng)式間的加、減、乘、除運(yùn)算符
號(hào)分別為+、-、X、+;Factor[多項(xiàng)式]表示將其中括
號(hào)內(nèi)的多項(xiàng)式分解因式;Expand[多項(xiàng)式]表示將其中括
號(hào)內(nèi)的多項(xiàng)式展開(kāi)成按升幕排列的單項(xiàng)式之和的形式.
值得注意的是,上面提到的N[表達(dá)式,血、
Factor[多項(xiàng)式]、Expand[多項(xiàng)式]均是Mathematica系
統(tǒng)中的函數(shù),其中N,Factor,Expand分別為其函數(shù)名
(函數(shù)名的第一個(gè)字母必須大寫(xiě)).
事實(shí)上,Mathematica系統(tǒng)中含有豐富的函數(shù).后
面將結(jié)合具體內(nèi)容介紹有關(guān)函數(shù)命令.
三、系統(tǒng)的幫助
單擊幫助按鈕或在“Help”菜單中選擇
uSearchforHelpon”則調(diào)出與下頁(yè)圖類似的幫助
對(duì)話框,然后在第一個(gè)文本框內(nèi)輸入要查詢的函數(shù)(或
命令)的前幾個(gè)字符,則在第二個(gè)文本框內(nèi)顯示以輸
入字符開(kāi)頭的函數(shù)(或命令)列表,選擇要查找的函
數(shù)(或命令),單擊“顯示”命令按鈕便調(diào)出該函數(shù)
(或命令)的使用規(guī)則說(shuō)明.
ica
i鍵入要查找的單詞的前幾個(gè)字母
2單擊所需的索引項(xiàng).然后單擊“顯示”也).
$Aborted
$BatchInput
$BatchOutput
$CommandLine
$Context
$ContextPath
$CreationDate
$De£aultFont
$Display
$DisplayFunction
$DumpDates
$DwnpSupported
$Echo
$Epilog
$Failed
SignoreEOF
Notebook與CeI
Notebook是Mathematica系統(tǒng)提供給用戶的最基
本的工作環(huán)境.它就像字處理軟件中的文檔.Notebook
上方有主菜單(下圖1)及工具按鈕條(下圖2).借助于
主菜單或工具按鈕條可進(jìn)行編輯、保存、打印及打開(kāi)等
操作.
FileEditCellGraphActionStyleOptionsWindowHelp
圖1
圖2
Cell是組成Notebook的基本單元,也稱為單元.一
個(gè)輸入、一個(gè)輸出或一個(gè)圖形都是一個(gè)單元(Cell),—
個(gè)Cell的全部?jī)?nèi)容由靠窗口右邊的方括號(hào)括起來(lái),這個(gè)
方括號(hào)就像Cell的手柄,單擊這個(gè)方括號(hào)就選定了這個(gè)
Cell,然后就可以對(duì)這個(gè)Cell進(jìn)行移動(dòng)、復(fù)制、剪切、
計(jì)算的按鈕操作或執(zhí)行菜單命令.
若干個(gè)Cell可以組織成一個(gè)組(Cells),組的標(biāo)志是
一個(gè)外層大括號(hào)括著幾個(gè)小括號(hào).通過(guò)在“Cell”主菜單
中選擇“GroupCell"命令實(shí)現(xiàn)對(duì)若干個(gè)選定的單元
(Cell)進(jìn)行組“組”操作;通過(guò)先單擊“組”括號(hào),
再在“Cell”主菜單中選定“UnGroupCellv命令實(shí)現(xiàn)
對(duì)選定的“組”進(jìn)行解散一個(gè)組的操作.
關(guān)于菜單命令及鍵盤(pán)命令請(qǐng)分別參見(jiàn)表1及表2:
表1
菜單命令鍵盤(pán)命令意義
FormattedCtrl+T設(shè)定Cen的格式
GroupCellsCtrl+G將多個(gè)Cell組成
一個(gè)組
UngroupCellsCtrl+U解散一個(gè)組
表2
菜單命令鍵盤(pán)命令意義
EvaluateShift+Enter計(jì)算當(dāng)前選定
Selection的單元
EvaluateNextCtrl+Enter計(jì)算下一個(gè)輸
Input入
InterruptAlt+.中斷____
另外,要想在同一個(gè)單元(Cell)中進(jìn)行換行操作,
只需在需要換行的地方打回車鍵(Enter)即可.
五、常用函數(shù)
Mathematica中的數(shù)學(xué)函數(shù)是根據(jù)定義規(guī)則命名
的.就大多數(shù)函數(shù)而言,其名字通常是英文單詞的全
寫(xiě).對(duì)于一些非常通用的函數(shù),系統(tǒng)使用傳統(tǒng)的縮寫(xiě).如
“積分”用其全名Integrate,而“微分”則用其縮寫(xiě)
名D(這兩個(gè)函數(shù)在本章第二節(jié)中要專門(mén)介紹).下面給
出些常用函數(shù)的函數(shù)名.
Exp[z]自然數(shù)e為底的指數(shù)函數(shù)
Log[z]自然數(shù)e為底的對(duì)數(shù)函數(shù)
Log[b,z]自然數(shù)b為底的對(duì)數(shù)函數(shù)
Sin[z],Cos[z]正弦函數(shù)與余弦函數(shù)
Tan[z],Cot[z]正切與余切函數(shù)
Sec[z],Csc[z]正割與余割函數(shù)
ArcSin[z],ArcCos[z]反正弦函數(shù)與反余弦函數(shù)
ArcTan[z],ArcCot[z]反正切與反余切函數(shù)
ArcSec[z],ArcCsc[z]反正割與反余割函數(shù)
如上三角函數(shù)與反三角函數(shù)中的參量為弧度.
Sqrt[z]求z的2次方根
z八(1/n)求z的n次方根
當(dāng)z>0時(shí),如上兩個(gè)函數(shù)均有惟一的值;當(dāng)z<0時(shí)、
函數(shù)值不唯一(屬?gòu)?fù)變函數(shù)范疇).
例1求表達(dá)式Ig2+ln3的值.
解In[l]:=Log[10,2]+Log[3]
..「Logl2]
Out[rl]=Log[3]+-------
Log[10]
In[2]:=N[Log[10,2]+Log[3],10]
0ut[2]=l.399642284
In[3]:=Log[10.0,2]+Log[3.]
Out⑶=L39964
在本例中,對(duì)應(yīng)于輸入語(yǔ)句輸出語(yǔ)句Out[l]
并沒(méi)有給出lg2(Log[10,2])及l(fā)n3(Log[3])的“數(shù)值結(jié)
果”,這是由于Mathematica符號(hào)計(jì)算系統(tǒng)的“對(duì)于只含準(zhǔn)
確數(shù)的輸入表達(dá)式也只進(jìn)行完全準(zhǔn)確的運(yùn)算并輸出相應(yīng)的
準(zhǔn)確結(jié)果”的特性所決定的.在In[2]中用數(shù)值轉(zhuǎn)換函數(shù)
N[P,10],將對(duì)表達(dá)式Log[10,2]+Log[3]的運(yùn)算轉(zhuǎn)換成了計(jì)
算結(jié)果具有10位有效數(shù)字的實(shí)數(shù)形式運(yùn)算,所以有輸出結(jié)
果0ut[2]=l.399642284.在In[3]:=Log[10.0,2]+Log[3.]
中,用實(shí)數(shù)10.0代替整數(shù)10;用實(shí)數(shù)3.代替整數(shù)3,這里
10.0和3.都是實(shí)數(shù)的表示方法.Mathematica符號(hào)計(jì)算系
統(tǒng)中數(shù)值類型有整數(shù)、有理數(shù)、實(shí)數(shù)、復(fù)數(shù)四種類型.
六、變量
1.變量名
為了方便計(jì)算或保存中間計(jì)算結(jié)果,常常需要引進(jìn)
變量.在Mathematica中,內(nèi)部函數(shù)或命令都是以大寫(xiě)
字母開(kāi)頭的標(biāo)識(shí)符.為了避免混淆,Mathematica中的
變量名通常以小寫(xiě)字母開(kāi)頭,后跟字母或數(shù)字,變量名
字符的長(zhǎng)度不限.例如,abcdefghijk,x3都是合法的
變量名;而uv(u與v之間有一個(gè)空格)不能作為變量
名.英文字母的大小寫(xiě)意義是不同的,因此A與a表示
兩個(gè)不同的變量.
在Mathematica中,變量即取即用,不需要先說(shuō)明
變量的類型后再使用.在Mathematica中,變量不僅可
存放一個(gè)整數(shù)或復(fù)數(shù),還可存放一個(gè)多項(xiàng)式或復(fù)雜的算
式.
數(shù)值有類型,變量也有類型.通常,在運(yùn)算中不需
要對(duì)變量進(jìn)行類型說(shuō)明,系統(tǒng)根據(jù)對(duì)變量所賦的值會(huì)作
出正確的處理.在定義函數(shù)和進(jìn)行程序設(shè)計(jì)時(shí),也可以
對(duì)變量進(jìn)行類型說(shuō)明.
2.給變量賦值
(1)變量的全局賦值
在Mathematica中,運(yùn)算符號(hào)“二”或“:=”起賦
值作用,一般形式為:
變量二表達(dá)式
或
變量1二變量2二表達(dá)式
其執(zhí)行步驟為:先計(jì)算賦值號(hào)右邊的表達(dá)式,再將計(jì)算
結(jié)果送到變量中.
在Mathematica中,“二”應(yīng)理解為給變量一個(gè)
值.在使用“二”定義規(guī)則時(shí),定義式右邊的表達(dá)式立即
被求值;而在使用“:二”定義規(guī)則時(shí),系統(tǒng)不做運(yùn)算,
也就沒(méi)有相應(yīng)的輸出,定義式右邊的表達(dá)式不被立即求
值,直到被調(diào)用時(shí)才被求值.因此,“:二”被稱為延遲
賦值號(hào),“二”被稱為立即賦值號(hào).一般的高級(jí)語(yǔ)言沒(méi)有
符號(hào)運(yùn)算功能,因此,在C和Pascal等語(yǔ)言中,一個(gè)變
量只能表示一個(gè)數(shù)值、字符串或邏輯值.而在
Mathematica中,一■個(gè)變量可以代表一^個(gè)數(shù)值、一*個(gè)表
達(dá)式、一個(gè)數(shù)組或一個(gè)圖形.例如:
In[l]:=u=v=l(*與c語(yǔ)言類似,可以對(duì)變量
連續(xù)賦值*)
Out[1]=1
In[2]:=r:=u+1(定義r的一個(gè)延遲賦值)
In[3](*計(jì)算r*)
Out[3]=2
In[4]:=u=.(清除變量u的值)
In[5]:=2*u+v
Out[5]=l+2u(u以未賦值的形式出現(xiàn))
In[6]:=?u(查詢變量u的值)
Out[6]=Globalu
在編程運(yùn)算中,經(jīng)常用?U詢問(wèn)變量U的值,以保運(yùn)算結(jié)果
的正確.這里對(duì)應(yīng)于輸入語(yǔ)句In[6]:=?u的輸出語(yǔ)句
Out[6]=Global'說(shuō)明了u是一個(gè)未被賦值的全局變量.事
實(shí)上在語(yǔ)句In[4]:=u=.中,已經(jīng)清除了變量u的值.注意:
給變量所賦的值在Mathematica的一個(gè)工作期(從進(jìn)入
Mathematica系統(tǒng)到退出Mathematica系統(tǒng))內(nèi)有效.因此,
在Mathematica同一工作期內(nèi)計(jì)算不同問(wèn)題時(shí),要隨時(shí)對(duì)新
引用的變量的值進(jìn)行清零.
(2)變量的臨時(shí)賦值
變量的臨時(shí)賦值格式為:f[x]/.x->a.注意x->a中
的箭頭是由鍵盤(pán)上的減號(hào)及大于號(hào)組成的.
該語(yǔ)句給函數(shù)f兇中的變量x臨時(shí)賦予數(shù)值a.用臨
時(shí)賦值語(yǔ)句給變量賦的值,只在該語(yǔ)句有效.
七、自定義函數(shù)
在Mathematica中,所有的輸入都是表達(dá)式,所有
的操作都是調(diào)用轉(zhuǎn)化規(guī)則對(duì)表達(dá)式求值.一個(gè)函數(shù)就是
一條規(guī)則,定義一個(gè)函數(shù)就是定義一條規(guī)則.定義一個(gè)一
元函數(shù)的規(guī)則是f[x」:=或f[x_]二的后面緊跟一個(gè)以x
為變量的表達(dá)式,其中x稱為形式參數(shù).
調(diào)用自定義函數(shù)f[X」時(shí),只需用實(shí)在參數(shù)(變量或數(shù)值
等)代替其中的形式參數(shù)x_即可.
如果用"f[x]二表達(dá)式”定義一個(gè)函數(shù),那么這個(gè)規(guī)則
只對(duì)X成立,既中f[x]中的X不能用任何其他的東西取
代.在運(yùn)行中,可用"=."清除函數(shù)的定義,
用Clear[f]清除所有以f為函數(shù)名的函數(shù)定義.
例2定義函數(shù)f=x2+4x+cosx,先分別求x
=1,3.1,Pi/2時(shí)的函數(shù)值;再求f(一).
解f[x_]:=x"2+Sqrt[x]+Cos[x]
In[2]:=f[1.]
Out[2]=2.5403
In[3]:=f[3.1]
Out[3]=10.3715
In[4]:=f[N[Pi]/2.]
Out[4]=3.72072
In[5]:-f[x"2]
Out[5]=x4+Sqrt[x2]+Cos[x2]
在Out[5]中,由于系統(tǒng)不知到變量x的符號(hào),所
以沒(méi)有對(duì)右進(jìn)行開(kāi)方運(yùn)算.
八、表
1.表的生成
系統(tǒng)將表定義為有關(guān)聯(lián)的元素組成的一個(gè)整體.用
表可以表示數(shù)學(xué)中的集合、向量、矩陣,也可以表示數(shù)
據(jù)庫(kù)中的一組記錄.
一維表的表示形式是用花括號(hào)括起來(lái)的且中間用
逗號(hào)分開(kāi)的若干元素.如:
{1,2,100,x,y}
表示由1,2,100,x,y這5個(gè)元素組成的一維表.
二維表的表示形式是用花括號(hào)括起來(lái)的且中間用
逗號(hào)分開(kāi)的若干個(gè)一■維表,如:
{{1,2,5},{2,4,4},{3,6,8}},{{a,b},{1,2}}
均是二維表,二維表就是“表中表”.
2.表的元素
對(duì)于一維表b用或Part[b,i]表示它的第i
個(gè)元素(分量);對(duì)于二維表b,或Part[b,i]就表
示它的第i個(gè)分表(分量),其第i個(gè)分表中的第j個(gè)
元素用b[[i,j]]來(lái)描述.
In[l]:=b={3,6,9,11}
In[2]:=b[[2]]
Out[2]=6
3.表的運(yùn)算
設(shè)表bl>b2是結(jié)構(gòu)完全相同的兩個(gè)表.表bl與b2
的和、差、積、商等于其對(duì)應(yīng)元素間的相應(yīng)運(yùn)算(分母不
能為零).如:
In[l]:=bl={1,2,3,4};
In[2]:=b2={2,4,6,8};
In[3]:=bl+b2
Out[3]={3,6,9,12)
In[4]:=bl-b2
Out[4]={一1,一2,—3,14}
In[5]:=bl*b2
Out[5]={2,8,18,32}
In[6]:=bl/b2
fl1111
Out[6]=<一,一,一,一>
[2222]
上面輸入語(yǔ)句In[1]和In[2]均以分號(hào)(;)結(jié)尾,則不
輸出運(yùn)算結(jié)果.止匕外,一個(gè)數(shù)或一個(gè)標(biāo)量乘一個(gè)表等于這
個(gè)數(shù)(或這個(gè)標(biāo)量)分別乘表中每個(gè)元素.
W回HC
九、解方程
1.Solve
Solve是解方程或方程組的函數(shù),其形式為
Solve[eqns,vars],其中eqns可以是單個(gè)程也可以是方
程組,單個(gè)方程用exp==0(其中exp為關(guān)于未知元的表
達(dá)式)的形式;方程組寫(xiě)成用大括號(hào)括起來(lái)的中間用逗
號(hào)分割的若干個(gè)單個(gè)方程的集合,如由兩個(gè)方程組成的
方程組應(yīng)寫(xiě)成{expl==0,exp2==0};vars為未知元表,
其形式為{xl,x2,…xn].如:
In[l]:=Solve[xA2-l==0,x](*解方程x2—1=0*)
Out[l]={{x{x-1}}(*方程——1=0的兩
個(gè)解*)
In[2]:=Solve[{2x+y==4,x+y==3},{x,y}](*解方程組
2x-\-y=4,
V
、X+y=3
f2x+y=4
Out[2]={{x->ly->2}}(*輸出方程組1'一'
5[、+y=3
的兩個(gè)解央)
值得注意的是Solve語(yǔ)句把所求方程的根先賦給未
知元后再連同未知元及賦值號(hào)-用花括弧括起來(lái)作為
表的一個(gè)元素放在表中,女口Out[l]={{x>-1},{x
-1}}.若想在運(yùn)算過(guò)程中直接引用Solve的輸出結(jié)果,
可按變量替換形式(f[x]/.Xa)把所需要的根賦給某一
變?cè)?
In[3|:=j=%
Out[3]={{x->l,y->2})
In[4]:=xl=x/.j[[l,l]](*等價(jià)于x
->1*)
Out[4]=l(*變量xl的值*)
In[5]:=x2=y/.j[[l,2]](*j[[l,2]J等價(jià)于x->2
*)
Out[5]=2(*變量x2的值*)
一、Which語(yǔ)句
Which語(yǔ)句的一般形式為:
Which[條件1,表達(dá)式1,條件2,表達(dá)式2,…,條
件n,表達(dá)式n]
Which語(yǔ)句的執(zhí)行過(guò)程:從計(jì)算條件1開(kāi)始,依次
計(jì)算條件i(i=l'?’!!),直至計(jì)算出第一個(gè)條件為真時(shí)為止,
并將該條件所對(duì)應(yīng)的表達(dá)式的值作為Which語(yǔ)句的
值.用Which語(yǔ)句可以方便的定義分段函數(shù).
H-----、Print語(yǔ)句
Print為輸出命令,其形式為;
Print[表達(dá)式1,表達(dá)式2,--?]
執(zhí)行Print語(yǔ)句,依次輸出表達(dá)式1,表達(dá)式2,…等
表達(dá)式,兩表達(dá)式之間不留空格,輸出完成后換行.通常
Print語(yǔ)句先計(jì)算出表達(dá)式的值,再將表達(dá)式的值輸
出.若想原樣輸出某個(gè)表達(dá)式或字符,需要對(duì)其加引號(hào),
參見(jiàn)下例中的Print語(yǔ)句.
思考題
1.Factor[x^2+2x-3]的運(yùn)行結(jié)果.
2.在Mathematica的主工作面中,表達(dá)式Factor
(x-2+x-4)的運(yùn)行結(jié)果如何?
3.給出下列語(yǔ)句的運(yùn)行結(jié)果.
In[l]:=bl={2,4,6,8,10);
In[2]:=b2=Table[bl[[i]]-bl[[i-l]],{i92,5}]
In[3]:=b3=Insert[b2,bl[[l]],l]
In[4]:=b4=bl*b3
Inl5]:=Log[100,10000]
In[6]:=Log[EA10]
Inf7]:=Log[100]
In[8]:=Sqrt[2]+Sqrt[2.]
4.如何在一■個(gè)語(yǔ)句中給出sinx在x=15°,45°,60°,
75,90°的值?
第二節(jié)用Mathematica做高等數(shù)學(xué)
一、求極限六、做三維圖形
二、求導(dǎo)運(yùn)算七、求偏導(dǎo)數(shù)
三、做導(dǎo)數(shù)應(yīng)用題八、計(jì)算重積分
四、做一元函數(shù)的積分九、級(jí)數(shù)運(yùn)算
五、解常微分方程十、做數(shù)值it篁
第二節(jié)用Mathematica做高等數(shù)學(xué)
一、用Mathematica做高等數(shù)學(xué)
在Mathematica系統(tǒng)中,求極限的函數(shù)為L(zhǎng)imit,
其形式如下:
Limit[f[x],x->a],
其中f[x]是以x為自變量的函數(shù)或表達(dá)式,x->a中的
箭頭是由鍵盤(pán)上的減號(hào)及大于號(hào)組成的?求表達(dá)
式的左極限和右極限時(shí),分別用如下形式實(shí)現(xiàn):
Limit[f[x],x->a,Direction->l](左極限)
Limit[f[x],x->a,Direction->-l](右極限)
例1求下列極限:
2x]1
(1)lim-----;(2)lim2X;(3)lim2,;
X-。Xx-?0+x^Q一
(4)limarctanx;(5)limarctanx.
x—H-ooXf-oo
解[n[l]:=Limit[(E(2*x)-1)/x,x->0]
2x_]
(*計(jì)算lim-----*)
x—>0X
Out[1]=2
In[2]:二Limit[2-(1/x),x->0,Direction->-1]
(*計(jì)算lim2'*)
x—>0+
Out[2]=Infinity(*Infinity為正無(wú)
窮大*)
In[3]:=Limit[2x,x->0,Direction->1]
(*計(jì)算
Out[3]=1
In[4]:=Limit[ArcTan[x],x->Infinity]
(*計(jì)算limarctanx*)
.¥—>4-00
Out[「4]n=Pi
2
In[5]:=Limit[ArcTan[x],x->-Infinity]
(*計(jì)算limarctanx*)
x—>-W
「-Pi
Out[5]n=
2
注意:如上用(**)括起來(lái)的內(nèi)容為對(duì)其前面
的輸入語(yǔ)句In[n]的注釋.
W目HH
二、用Mathematica進(jìn)行求導(dǎo)運(yùn)算
在Mathematica系統(tǒng)中,用D[f,x]表示f(x)對(duì)x的一*
階導(dǎo)數(shù),用D[f,{x,n}]表示f(x)對(duì)x的n階導(dǎo)數(shù).在一定范
圍內(nèi),也能使用微積分中的撇號(hào)(撇號(hào)為計(jì)算機(jī)鍵盤(pán)上
的單引號(hào))標(biāo)記來(lái)定義導(dǎo)函數(shù),其使用方法為:若f[x]
為一元函數(shù),則f'[x]給出f[x]的一階導(dǎo)函數(shù)f[Xo]給出
函數(shù)f[x]在X=Xo處的導(dǎo)數(shù)值.同樣f''[x]給出f[x]的二階
導(dǎo)函數(shù),f”[x]給出f[x]的三階導(dǎo)函數(shù).
例2求下列函數(shù)的一階導(dǎo)函數(shù).
(1);(2)y=sinx.
解
In[l]:=D[xA8,x]
Out[l]=8x7
In[2]:=D[xA8*Sin[x],x]
Out[2]=x8Cos[x]+8x7Sin[x]
例3求函數(shù)夕=/?2]的2階導(dǎo)函數(shù).
解
In[3]:=D[xA8*EA(2^x),{x,2}l(女求函數(shù)
y=x8e2v的二階導(dǎo)函數(shù)*)
Out[3]=56E2XX6+32E2XX7+4E2XX8
三、用Mathematica做導(dǎo)數(shù)應(yīng)用題
大家知道,導(dǎo)數(shù)應(yīng)用指的是:用導(dǎo)數(shù)的性態(tài)來(lái)研
究函數(shù)的性態(tài),主要包括函數(shù)的單調(diào)性、凹向、極值
與最值的求法以及一元函數(shù)圖形的描繪.由于對(duì)函數(shù)
單調(diào)性、凹向等問(wèn)題的研究,不但需要進(jìn)行求導(dǎo)運(yùn)算
而且還需要進(jìn)行解方程及條件判斷等工作.因此,本
節(jié)在用Mathematica做導(dǎo)數(shù)應(yīng)用題的過(guò)程中,經(jīng)常使
用Mathematica系統(tǒng)中的Solve,Wich,Print這三個(gè)函
數(shù).
例4設(shè)函數(shù)/(%)=?111%+法2+%在5=1,%2=2
處都取得極值,試定出6的值,并問(wèn)這時(shí)/(X)在
玉=1,%2=2處是取得極大值還是極小值?
解
In|l]:=f[x_]:=a*Log[x]+b*xA2+x
In[2]:=Solve[{ff[l]==0,ff[2]=0},{a,b}](*解方程
求駐點(diǎn)*)
In[3]:=c=%;(*將方程組的解賦給變量c*)
In[4]:=a=a/.c[[l,l]];(*等價(jià)于a=a/.af—-*)
In[5]:=b=b/.c[[l,2]];(*等價(jià)于a=a/.a-—-*)
Inf6]:=el=fM[l];
In[7]:=e2=fM[2];
In[8J:=Which[el==0,Print[失效
極小值],elvO,Print[Fir'極大值1](*判斷f”[1]的符號(hào),
從而決定f[l]是極小值還是極大值*)
In[9]:=Which[e2==O,Print[失效],e2>0,Print『f[2]”
極小值],e2vO,Print[F2]”極大值]]行判斷f[2]的符號(hào),
從而決定f[2]是極小值還是極大值*)
Oiit[2]={{a—>——,b—>——j)
<3J
Out[8]=f[l]極小值
Out[9]=f[2]極大值
另外,Mathematica系統(tǒng)還提供了用逐步搜索法求
函數(shù)極值的函數(shù)FindMinimum,其使用方法請(qǐng)同學(xué)們
上機(jī)練習(xí).
USEC
四、用Mathematica做一元函數(shù)的積分
在Mathematica系統(tǒng)中,用Integrate計(jì)算一■元函
數(shù)的積分,其格式與作用如下:
Integrate[f,x]計(jì)算不定積分J/(x)dx
Integrate[f,{x,a,b}]計(jì)算定積分J:/(x)dx
例5求下列積分
r2
(1)Jx5dx;(2)xdx.
角翠In11]:=Integrate[xA5,x](*計(jì)算Jx'dx*)
6
X
Out[l]=一
6
In|2|:=Integrate[xA5,{x,l,2}](*計(jì)算Jx5dx*)
21
Out[2]=——
2
W回HC
五、用Mathematica解常微分方程
在Mathematica中,用函數(shù)DSolve可以解線性與非
線性常微分方程,以及聯(lián)立常微分方程組.在沒(méi)有給定方
程的初始條件的情況下,所得的解包括了待定常數(shù)
C[1],C[2],C[3],…等等.
DSolve函數(shù)求得的是常微分方程的準(zhǔn)確解(解析解),
其調(diào)用格式及意義如下:
Dsolvefeqn,y[x],x]解y[x]的微分方程eqn,x
為自變量.
DSolve[{eqnl,eqn2,...},{yl[x],y2[x],...},x]解微分
方程組{eqnl,eqn2,…},x為自變量.
Dsolve[{eqn,y[0]==x0},y[x],x]求微分方程eqn滿足
初始條件y[O]==xO的解.
例6求微分方程y'=y+x滿足初始條件y[O]=l的
特解.
解
In[l]:=DSolve[{yT[x]==y[x]+x,y[0]=l},y[x],x]
Out[l]={{y[x]->-1+2Ex-x}}
例7求微分方程y"+2j/+y=0的通解.
角翠
In[2]:=DSolve[y1![x]+2*yT[x]+y[x]==0,y(x],x]
C[l]xC[2]
Out[2]={{y[x]->-------+------------}},
EE
C[2]為任意常數(shù)*)
六、用Mathematica做向量運(yùn)算和三維圖形
本節(jié)我們用Mathmatica做向量運(yùn)算和三維圖形
Mathmatica用表來(lái)表示向量.任何不是向量的量都作為
標(biāo)量.下面結(jié)合具體問(wèn)題介紹向量間的加法(+)、減法
(-)、點(diǎn)積(?)、叉積等運(yùn)算以及向量的模、向量夾角的
求法,以及函數(shù)PIot3D、ParametricPIot3D在描繪空
間曲面的圖形時(shí)的具體應(yīng)用.
例9設(shè)向量〃/+2m。=2,+3/—44,求向量
〃+仇。-仇,〃的模,〃的模及向量。與向量〃的夾角余
弦與夾角.
解
In[l]:=a={l,-1,2}(*輸入向量a*)
In[2]:=b={2,3,-4}(*輸入向量b*)
In[3]:=a+b(*計(jì)算向量a與6的和*)
In[4]:=a-b(*計(jì)算向量?與6的差*)
In[5]:=a.b(*計(jì)算向量。與力的點(diǎn)積*)
In[6]:=Det[{{i,j,k},{1,-1,2},{2,3,-4}}](*計(jì)算
向量。與b的叉積*)
In[7]:=Sqrt[a.a](*計(jì)算向量?的模*)
In[8]:=Sqrt[b.b](*計(jì)算向晝的模*)
In[9]:-a,b/(Sqrt[a.a]*Sqrt[b.b])(*計(jì)算向量
0與b的夾角余弦*)
In[10]:=ArcCos[N[%]](*計(jì)算向量"與的夾角*)
Out[l]={l,-1,2}
Out[2]={2,3,-4)
0ut[3>{3,2,-2)
Out[4]={-1,-4,6}
W回HC
Out[5]=-9
0ut[6]=-2i+8j+5k
Out[7]=Sqrt[6]
Out[8]=Sqrt[29]
3
Out[9]=_3Sqrt[
58
0ut[10]=2.32168
在ln[6]:=Det[{{i,j,k},{1,-1,2},{2,3,-4}}]中,
Det為計(jì)算行列式的函數(shù).其調(diào)用格式為:其中
m為一方陣,m用行、列相同的二維表{{…},…,{…}}
表示,二維表從左到右依次表示方陣的第一行、第二
行,…,直至最后一行.注意:在使用函數(shù)Det時(shí),必須
保證每一個(gè)子表所含元素個(gè)數(shù)相同(即行列式的每行所
含元素個(gè)數(shù)相同),必須保證子表個(gè)數(shù)與每一個(gè)子表所含
元素個(gè)數(shù)相同(即行列式的每列所含元素個(gè)數(shù)相同).
例10做出曲面Z=F+y2的圖形:
解
In[1]:=Clear[x,y,z,r,t]
In[2]:=x[r,t]:=r*Cos[t]
In[3]:=y[r_,t]:=r*Sin[t]
In[4]:二z[r_,t_]:2
(*In[2]、In[3]>In[4]定義了柱坐標(biāo)系下拋物
面z=/+/的參數(shù)方程*)
In[5]:=ParametricPlot3D[{x[r,t],y[r,t],z[
r,t]},{t,0,2Pi},{r,0,2}](*描繪拋物面z=x
的圖形*)
圖形輸出見(jiàn)下頁(yè).
ParametricPIot3D描述的是含2個(gè)參數(shù)的三維空
間曲面.其調(diào)用格式為:
ParametricPIot3D[{x[t,u],y[t,u],z[t,u]},{t,
tmin,max},{u,umin,umax}],
其中{x[t,u],z[t,u]}為用參數(shù)表示的直角坐
標(biāo)系下的三個(gè)坐標(biāo)x、v、z的表達(dá)式.{t,tmin,max)
和{u,umin,umax}分別為參數(shù)t和u從小到大的變化范
圍.
在ln[1]:=Clear[x,y,z,r,t]中,函數(shù)
Clear[s1,s2,…]的作用是清除s1,s2,…的值.為了提高
運(yùn)算的準(zhǔn)確度,在用Mathematica編程求值時(shí),用
Clear[s1,s2,…]語(yǔ)句先清除所用變量的值是非常好的
習(xí)慣.
Mathmatica系統(tǒng)提供了非常豐富的作圖函數(shù).建議同
學(xué)們通過(guò)閱讀Mathmatica手冊(cè)及查閱在線幫助對(duì)系統(tǒng)的
做圖功能進(jìn)行更多得了解.
七、用Mathematica求偏導(dǎo)數(shù)與多元函數(shù)的極值
與在Mathematica系統(tǒng)中求一元函數(shù)的導(dǎo)數(shù)類似,
求多元函數(shù)/的偏導(dǎo)數(shù)仍用求導(dǎo)算子D完成.具體調(diào)用格
式如下:
D[f,x]給出偏導(dǎo)數(shù)
D[f,{x,n}]給出高階偏導(dǎo)數(shù)
D[f,xl,x2,???]給出高階混合偏導(dǎo)數(shù)
例11求函數(shù)z=sinx+xcosj的兩個(gè)一階偏導(dǎo)數(shù)和四個(gè)
二階偏導(dǎo)數(shù).
解
In[l]:=Clear[x,y]
In[2]:=f[x_,y_J:=Sin[x]+x*Cos[y]
In[3]:=D[f[x,y],x]
In[4]:=D[f[x,y],y]
In[5]:=D[f[x,y],{x,2}]
In[6J:=D[f[x,y],{y,2}]
In[7]:=D[f[x,y],x,y]
In網(wǎng):=D[f[x,y],y,x]
Outl3]=Cos[xJ+Cos[y]
Out[4]=-(xSiNyD
Out[5]=-Sin[xl
Out[6]=-(xC°s[y])
Out[7]="Sin[y]
Out[8]=-Sin[y]
回E
例12求函數(shù)Z=/+£_3q的極值.
解
In[l]:=Clear|f,x,y,p,a,b,pl,p2,A,B,Cl]
In[2]:=f[x_,y_]:=xA3+yA3-3*x*y
In[3]:=a=D[f[x,y],x];
In[4]:=b=D[f[x,y],y];
In[5]:=A[x_,yJ=D[f[x,y],{x,2}]
In[6]:=B[x_,y_]=D[f[x,y],x,y]
In17]:=Cl[x_,y_J=D[f[x,y],{y,2}]
In[8]:=p[x_,yj:=B[x,y]A2-A[x,y]*Cl[x,y]
In[9]:=Solve[{a==0,b==0},{x,y}];
In[10]:=pl=p[x,y]/.%[[1]];
In[ll]:=p2=p[x,y]/.%%[[2]];
In[12]:=Which[pl>0,Print[(0,0)不是極值點(diǎn)
n],pl<0&&A[0,0]<0,
Printr,f[0,0]=[f[0,0]J是極大值,lplv0&&A[0,0]X),
Print[F0,0]=1f[0,0]J是極小值T,pl=0,Printr,失效
In[13]:=Which[p2>0,Print[^(l,l)不是極值點(diǎn)
M],p2<0&&A[l,l]<0,
PriIlt廠f[lJ]=",f[l,l]J是極大值,lp2v0&&A[l,l]>0,
是極小值”],p2=0,Priiit[”失效
T1
Out[12]=(0,0)不是極值點(diǎn)
Out[13]=f[l,l]=-1是極小值
八、用Mathematica計(jì)算重積分
在Mathmatica系統(tǒng)中,與求定積分類似,仍用函數(shù)
Integrate計(jì)算重積分,其調(diào)用格式如下:
Integrate[f,{x,xmin,xmax},{y,ymin,ymax}]
例13計(jì)算二重積分JJxe町dxdy,D:0<x<l,
D
-1<j;<0.
角翠
In[l]:=Clear[x,yJ
In[2]:=Integrate[x*Exp[x*y],{x,0,l}9{y9-l90}]
1
Out[2]=-
W回HC
例14算二重積分J卜丹dx4y,O是由
D
y=^所圍成的區(qū)域.
解
In[l]:=Clear[x9y]
In[21:=Integrate[x*Sqrt[y],{x,0,l},{y,xA2,Sqrt[x]}]
6
Out[2]=—
55
USEC
九、用Mathematica進(jìn)行級(jí)數(shù)運(yùn)算
用Mathematica能對(duì)幕級(jí)數(shù)進(jìn)行加、減、乘、除、乘
方、微分、積分等多種運(yùn)算.這里重點(diǎn)介紹函數(shù)的幕級(jí)數(shù)
展開(kāi).在Mathematica系統(tǒng)中,用Series將一■個(gè)函數(shù)f(x)
展開(kāi)成為x的幕級(jí)數(shù).其調(diào)用格式有如下兩種:
Series[f,{x,xO,n}]把函數(shù)f在點(diǎn)xO處展開(kāi)到x的n次
幕.
Series[f,{x,x0,nl},{y,y0,n2}]把二元函數(shù)f在點(diǎn)(xO,yO)
處展開(kāi)到x的nl次
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保安工作計(jì)劃范文(33篇)
- 2025法律服務(wù)工作計(jì)劃例文(8篇)
- 初中生關(guān)于交通安全演講稿(32篇)
- 2024中國(guó)電子器件制造行業(yè)影響因素分析
- 北郊污水處理廠、超細(xì)礦粉廠、凈水廠認(rèn)識(shí)實(shí)習(xí)報(bào)告
- 2021-2026年中國(guó)注射用卡絡(luò)磺鈉行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2024-2025學(xué)年高中生物5.1生態(tài)工程的基本原理練習(xí)含解析新人教版選修3
- 2024-2025學(xué)年高中歷史專題8明治維新3迅速崛起的日本練習(xí)人民版選修1
- 2025年中國(guó)醫(yī)療保健儀器市場(chǎng)全景評(píng)估及投資規(guī)劃建議報(bào)告
- 2025年市場(chǎng)調(diào)查與預(yù)測(cè)總結(jié)報(bào)告
- 《智慧旅游認(rèn)知與實(shí)踐》課件-第九章 智慧旅行社
- 產(chǎn)業(yè)園規(guī)劃建筑設(shè)計(jì)說(shuō)明
- 現(xiàn)場(chǎng)快速反應(yīng)跟蹤管理看板
- 《建筑工程資料管理規(guī)程》DB34T918-2019
- 框架核心筒結(jié)構(gòu)辦公樓施工測(cè)量方案(12頁(yè))
- 整體機(jī)房維護(hù)方案及報(bào)價(jià)通用
- 北大金融學(xué)課程表
- 英國(guó)簽證戶口本翻譯模板(共4頁(yè))
- 現(xiàn)金調(diào)撥業(yè)務(wù)
- 空白個(gè)人簡(jiǎn)歷表格1
評(píng)論
0/150
提交評(píng)論