符號(hào)計(jì)算系統(tǒng)MATHEMATICA電子教案_第1頁(yè)
符號(hào)計(jì)算系統(tǒng)MATHEMATICA電子教案_第2頁(yè)
符號(hào)計(jì)算系統(tǒng)MATHEMATICA電子教案_第3頁(yè)
符號(hào)計(jì)算系統(tǒng)MATHEMATICA電子教案_第4頁(yè)
符號(hào)計(jì)算系統(tǒng)MATHEMATICA電子教案_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論