數(shù)學實驗北京交通大學mathematica基礎知識_第1頁
數(shù)學實驗北京交通大學mathematica基礎知識_第2頁
數(shù)學實驗北京交通大學mathematica基礎知識_第3頁
數(shù)學實驗北京交通大學mathematica基礎知識_第4頁
數(shù)學實驗北京交通大學mathematica基礎知識_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

數(shù)學實驗北京交通大學mathematica基礎知識第1頁/共61頁電氣學院學習部資料庫Mathematica數(shù)學實驗北京交通大學第2頁/共61頁電氣學院學習部資料庫第一章Mathematica基礎知識

1.1Mathematica

概述1.1.1Mathematica簡介Mathematica作為一個功能強大的常用數(shù)學軟件,不但可以解決數(shù)學中的數(shù)值計算問題,還可以解決符號演算問題,并且能夠方便地繪出各種函數(shù)圖形。Mathematica自1988年由美國的WolframResearch公司首次推出Mathematica1.0版本以來,隨著WolframResearch公司對它的不斷改進,先后推出了Mathematica1.2、Mathematica2.0、Mathematica2.2、Mathematica3.0、Mathematica4.0等版本。下面看一些用mathematica做的一些例子:見圖

第3頁/共61頁電氣學院學習部資料庫第4頁/共61頁電氣學院學習部資料庫

1.1.2Mathematica的安裝和進入/退出(1)

Windows版本的Mathematica安裝步驟為:啟動Windows操作系統(tǒng),打開Windows資源管理器;在Windows資源管理器中選擇Mathematica系統(tǒng)安裝盤,察看磁盤中的安裝文件Setup;用鼠標雙擊安裝文件Setup,屏幕上出現(xiàn)一些選擇對話框;用鼠標點擊所有選擇對話框的OK按鈕或鍵入字母y,則系統(tǒng)就在你的計算機上安裝了Mathematica數(shù)學軟件。Mathematica的安裝成功后,系統(tǒng)會在Windows【開始】菜單的【程序】子菜單中加入啟動Mathematica命令的圖標,用鼠標單擊它就可以啟動Mathematica系統(tǒng),見下圖:第5頁/共61頁電氣學院學習部資料庫第6頁/共61頁電氣學院學習部資料庫啟動Mathematica后,屏幕上出現(xiàn)稱為Notebook的Mathematica系統(tǒng)集成界面:

第7頁/共61頁電氣學院學習部資料庫Mathematica在用戶區(qū)輸入的內(nèi)容被Mathematica用一個具有擴展名為“.ma”的文件名來紀錄,該文件名是退出Mathematica時保存在用戶區(qū)輸入內(nèi)容的默認文件名,一般是文件名:“Newnb-1.ma”。退出Mathematica系統(tǒng)像關閉一個Word文件一樣,只要用鼠標點擊Mathematica系統(tǒng)集成界面右上角的關閉按鈕即可。關閉前,屏幕會出現(xiàn)一個對話框,詢問是否保存用戶區(qū)的內(nèi)容,如果單擊對話框的“否(N)”按鈕,則關閉Notebook窗口,退出Mathematica系統(tǒng);如果單擊對話框的“是(Y)”按鈕,則先提示你用一個具有擴展名為.ma的文件名來保存用戶區(qū)內(nèi)的內(nèi)容,再退出Mathematica系統(tǒng)。第8頁/共61頁電氣學院學習部資料庫1.1.3Mathematica中的Cell在Notebook用戶區(qū),從開始輸入到按下Shift+Enter組合鍵稱為Mathematica一個輸入。Mathematica中的每個輸出或圖形的右邊也都有一個方括號,這些方括號括起的內(nèi)容稱為Cell,而方括號是這個Cell的手柄。Cell是Notebook的基本單元,Notebook中的所有內(nèi)容都被組成有序的Cell。由若干個Cell可以組成按組分級排列的復合Cell(見后面的圖)。復合Cell的手柄是最外層的大方括號。用鼠標單擊某個Cell的手柄,對應的方括號變黑表示已經(jīng)選定這個Cell了,此時,你可以使用復制、刪除及粘貼等功能處理所選定的Cell中的內(nèi)容。第9頁/共61頁電氣學院學習部資料庫第10頁/共61頁電氣學院學習部資料庫1.1.4Mathematica操作的注意事項(1)在Notebook用戶區(qū)用戶輸入完Mathematica命令后,還要按下Shift+Enter組合鍵,Mathematica才能執(zhí)行你輸入的Mathematica命令。(2)在Notebook用戶區(qū)如果某個命令一行輸入不下,可以用按下Enter鍵的方法來達到換行的目的。(3)在Notebook用戶區(qū)除了可以用直接鍵盤輸入的方法進行輸入外,還可以用打開的方式從磁盤中調(diào)入一個已經(jīng)存在的具有擴展名為.ma的文件來進行操作。(4)每次輸入完Mathematica命令并按下Shift+Enter組合鍵,通常系統(tǒng)會在輸入內(nèi)容的前一行自動加入符號In[n]=:以表出此次輸入是第n次輸入。如果用戶不想計算機顯示此次輸入的結(jié)果,只要在所輸入命令的后面再加上一個分號“;”即可以達到目的。如:

In[1]:=x=2+3Out[1]=5In[2]:=x=2+3;

不顯示結(jié)果5第11頁/共61頁電氣學院學習部資料庫1.2Mathematica中的數(shù)據(jù)

1.2.1Mathematica中的數(shù)據(jù)類型和數(shù)學常數(shù)

Mathematica提供的簡單數(shù)據(jù)類型有整數(shù)、有理數(shù)、實數(shù)和復數(shù)4種類型,這些數(shù)據(jù)在Mathematica中有如下的要求:(1)整數(shù)描述為Integer,是可以具有任意長度的精確數(shù)。書寫方法同于我們通常的表示,輸入時,構(gòu)成整數(shù)的各數(shù)字之間不能有空格、逗號和其它符號,整數(shù)的正負號寫在該數(shù)的首位,正號可以不輸入。如:2367189、-932是正確的整數(shù)。(2)有理數(shù)描述為Rational,用化簡過的分數(shù)表示,但其中分子和分母都應該是整數(shù),有理數(shù)是精確數(shù),輸入時分號用“/”代替,即使用“分子分母”的形式。如:23/45、-41/345是正確的有理數(shù)。(3)實數(shù)描述為Real,是除了整數(shù)和有理數(shù)之外的所有實數(shù)。與一般高級語言不同的是這里數(shù)學中的無理數(shù)是可以有任意精確度的近似數(shù),如圓周率,在Mathematica中它可以根據(jù)需要取任意位有效數(shù)字。(4)復數(shù)描述為Complex,用是否含有虛數(shù)單位I來區(qū)分,它的實部和虛部可以是整數(shù)、有理數(shù)和實數(shù)。如:3+4.3I、18.5I都是正確的復數(shù)。第12頁/共61頁電氣學院學習部資料庫

為了方便數(shù)學處理和計算更準確,Mathematica定義了一些數(shù)學常數(shù),它們用英文字符串表示,常用的有:

Pi表示圓周率=3.14159…

E表示自然數(shù)e=2.71828…

Degree表示幾何的角度1或

/180

I表示虛數(shù)單位-1開平方IInfinity

表示數(shù)學中的無窮大注意:數(shù)學常數(shù)是精確數(shù),可以直接用于輸入的公式中,作為精確數(shù)參與計算和公式推導。第13頁/共61頁電氣學院學習部資料庫1.2.2Mathematica數(shù)的運算符

數(shù)的運算有:加、減、乘、除和乘方,它們在Mathematica中的符號為:加(+)、減(-)、乘(*)、除(/)和乘方(^)。不同類型的數(shù)參與運算,其結(jié)果的類型為:如果運算數(shù)有復數(shù),則計算結(jié)果為復數(shù)類型;如果運算數(shù)沒有復數(shù),但有實數(shù),則計算結(jié)果為實數(shù)類型如果運算數(shù)沒有復數(shù)和實數(shù),但有分數(shù),則計算結(jié)果為有理數(shù)類型如果運算數(shù)只有整數(shù),則計算結(jié)果或是整數(shù)類型(如果計算結(jié)果是整數(shù));或是有理數(shù)類型(如果計算結(jié)果不是整數(shù))。第14頁/共61頁電氣學院學習部資料庫1.2.3Mathematica中的精確數(shù)與近似數(shù)Mathematica的近似數(shù)是帶有小數(shù)點的數(shù);精確數(shù)是整數(shù)、有理數(shù)、數(shù)學常數(shù)以及函數(shù)在自變量取整數(shù)、有理數(shù)、數(shù)學常數(shù)時的函數(shù)值。如:62243、2/3、E、Sin[4]都是精確數(shù)。如果參與運算或求值的數(shù)帶有小數(shù)點,則運算結(jié)果通常為帶有6位有效數(shù)字的近似數(shù),如:

In[3]:=1.2345678020/30

Out[3]=0.0411523結(jié)果為近似數(shù)

In[4]:=2+Sin[1.0]

Out[4]=2.84147結(jié)果為近似數(shù)

In[5]:=2+Sin[1]

Out[5]=2+Sin[1]結(jié)果為精確數(shù)第15頁/共61頁電氣學院學習部資料庫如果需要精確數(shù)的數(shù)值結(jié)果(除了整數(shù)之外),可以用Mathematica提供的N函數(shù)將其轉(zhuǎn)化,N函數(shù)可以得到該精確數(shù)的任意精度的近似結(jié)果,其形式有兩個:

例如:

In[6]:=2*E+Sin[Pi/5]//N

Out[6]=6.02345In[7]:=N[2*E+Sin[Pi/5],30]Out[7]=6.02434890921056359988928089734第16頁/共61頁電氣學院學習部資料庫1.2.4Mathematica中的表

表可以用來表示數(shù)學中的集合、向量、矩陣和數(shù)據(jù)庫中的紀錄。在Mathematica中,任何用一對花括號括起來的一組元素都代一個表,其中的元素用逗號分隔且各元素可以具有不同的類型,特別其中的元素還可以是一個表。

表的形式是:{元素1,元素2,元素3,……,元素n}如:{1,3,5}、{3,x,{1,y},4}都是表。第17頁/共61頁電氣學院學習部資料庫建表命令有如下幾種形式:命令形式1:Table[通項公式f(i),{i,imin,imax,h}]功能:產(chǎn)生一個表{f(imin),f(imin+h),f(imin+2h),…,f(imin+nh)}其中:imax–himin+nhimax,h>0例如:建立一個表{12,32,……,192}命令:In[8]:=Table[i^2,{i,1,19,2}]

Out[8]={1,9,25,49,81,121,169,225,289,361}命令形式2:Table[通項公式f(i),{i,imin,imax}]功能:產(chǎn)生一個表{f(imin),f(imin+1),f(imin+2),…,f(imin+n)}其中:imax–1imin+nimax例如:建立一個表{22,……,102}命令:In[9]:=Table[i^2,{i,2,10}]Out[9]={4,9,16,25,36,49,64,81,100}第18頁/共61頁電氣學院學習部資料庫命令形式3:

Table[通項公式f,{循環(huán)次數(shù)n}],f為常數(shù)功能:產(chǎn)生n個f的一個表{f,f,f,……,f}

例如:建立產(chǎn)生8個2一個表{2,2,2,2,2,2,2,2}命令:In[10]:=Table[2,{8}

Out[10]={2,2,2,2,2,2,2,2}命令形式4:

Table[通項公式f(i,j),{{i,imin,imax},{j,jmin,jmax}]功能:產(chǎn)生一個二維表{{f(imin,jmin),f(imin,jmin+1),f(imin,jmin+2),……,f(imin,jmin+m)},{f(imin+1,jmin),f(imin+1,jmin+1),f(imin+1,jmin+2),……,f(imin+1,jmin+m)},……{f(imin+n,jmin),f(imin+n,jmin+1),f(imin+n,jmin+2),……,f(imin+n,jmin+m)}其中:imax–1imin+nimax,jmax–1jmin+mjmax例如:In[11]:=Table[i-j,{i,1,6},{j,1,2}]

Out[11]={{0,-1},{1,0},{2,1},{3,2},{4,3},{5,4}}第19頁/共61頁電氣學院學習部資料庫表的分量表示:有時為了某種需要,希望取出表中的某一或某些元素參與后面的運算和處理。常用表示表分量的命令有:命令形式1:

表[[序號n]]功能:取出表中序號為n的元素例如:取出表{1,9,x,49,81,{121,169},225,289,361}的正數(shù)第3個元素、第6個元素、和倒數(shù)第2個元素的命令依次為:命令:In[12]:={1,9,x,49,81,{121,169},225,289,361}[[3]]Out[12]=xIn[13]:={1,9,x,49,81,{121,169},225,289,361}[[6]]Out[13]={121,169}In[14]:={1,9,x,49,81,{121,169},225,289,361}[[-2]]Out[14]=289第20頁/共61頁電氣學院學習部資料庫命令形式2:

表[[{序號n1,序號n2,序號n3,……,序號nm}]]功能:取出由表中序號分別為n1,n2,n3,……,nm的m個元素組成的一個表,其中序號n1,n2,n3,……,nm可以重復。例如:取出由表{1,9,x,49,81,{121,169},225,289,361}中序號分別為1,3,3,6,-1的5個元素組成的一個表:命令:In[15]:={1,9,x,49,81,{121,169},225,289,361}[[{1,3,3,6,-1}]]Out[15]={1,x,x,{121,169},361}命令形式3:

表[[序號n1,序號n2]]功能:取出表中序號為n1元素(該元素必須是一個表)的序號為n2的元素。例如:取出表{1,9,x,49,81,{121,169},225,289,361}中序號為6的元素的正數(shù)第二個元素命令:In[16]:={1,9,x,49,81,{121,169},225,289,361}[[6,2]]Out[16]=169第21頁/共61頁電氣學院學習部資料庫表的運算函數(shù)

Mathematica表的運算函數(shù)有很多,這里介紹兩個常用的函數(shù):例如:寫出將表{1,9,49,81,225,289,361}中所有元素相加存放在變量x中、將表{1,9,49,81,225,289,361}中所有元素相乘存放在變量y中的Mathematica命令。命令:In[17]:=t={1,9,49,81,225,289,361}

In[18]=x=Apply[Plus,t]

Out[18]=1015In[19]=y=Apply[Times,t]

Out[19]=838515647025函數(shù)形式功能Apply[Plus,表]對表中所有元素求和Apply[Times,表]對表中所有元素求積第22頁/共61頁電氣學院學習部資料庫1.3Mathematica中的變量

1.3.1Mathematica的變量命名Mathematica的變量名規(guī)定為任何小寫英文字母或以小寫英文字母開頭后跟若干字母或數(shù)字表示的字符串,如x,y,ae3,d3er45都是合法的變量名。一般Mathematica的變量名不用小寫字母。如果在某些情況下一定要用大寫字母,應該注意不要與Mathematica中的數(shù)學常數(shù)和內(nèi)部函數(shù)或命令的混淆。Mathematica中的變量名是區(qū)分大小寫字母的,如在Mathematica中,ab與Ab表示兩個不同的變量。變量名中的字符之間不能有空格,因為變量名中的空格在Mathematica中被理解為變量的乘積。如:abcd與abcd有不同的含義,前者表示一個變量abcd,而后者Mathematica會將其看成兩個變量ab和cd的乘積關系。第23頁/共61頁電氣學院學習部資料庫變量名不能以數(shù)字開頭的字符串來表示,如果在Mathematica里出現(xiàn)了這種字符串,Mathematica將其理解為數(shù)字與變量的乘積。例如:以數(shù)字開頭的字符串3asd,在Mathematica中表示3乘以變量asd即3asd表示3*asd。在Mathematica中變量使用前不必先定義變量類型。Mathematica變量的類型可以不斷變化,取決于其中所存數(shù)據(jù)的類型;變量不但可以存放前面所提到的四種數(shù)據(jù)數(shù),而且可以存放一個方程式、一個圖形或更復雜的關系式。1.3.2Mathematica中的變量取值與清除如果一個變量在程序運行中沒有被存儲內(nèi)容,此時該變量名只是一般的數(shù)學符號參與程序的處理。如果變量被存儲了內(nèi)容,稱為變量取值。變量取值之后,該變量就用存入的內(nèi)容參與程序的處理。在Mathematica中,變量獲取值的方式有三種:變量賦值、鍵盤輸入和變量替換。下面分別介紹這三種方式:第24頁/共61頁電氣學院學習部資料庫(1)變量賦值方式變量賦值方式是變量取值的最常用的方式。Mathematica中變量賦值的一般形式為:變量=表達式這里“=”稱為賦值號,表達式是廣義的表達式,即它可以是數(shù)值和通常意義的數(shù)學表達式,還可以是一個方程或圖形等。例如:In[20]:=x=2+2Out[20]=4In[21]:=x*x–x+1Out[21]=13第25頁/共61頁電氣學院學習部資料庫(2)鍵盤輸入方式

鍵盤輸入方式是變量取值的另一種常用的方式,多用于需要在命令或程序的運行中由用戶從鍵盤上臨時鍵入的人機交互式變量取值。

Mathematica中鍵盤輸入命令形式為:

變量=Input[]

當遇到上面的鍵盤輸入命令后,計算機在屏幕上給出一個輸入小窗口,等待用戶在其中從鍵盤上鍵入一個表達式,鍵入完畢后,用鼠標點擊“OK”按扭后,計算機將鍵入的表達式求值后,將結(jié)果存儲在算等號左邊的變量中。這里“=”是賦值號。

例如:In[22]:=x=Input[]*變量x等待鍵盤輸入賦值(見圖)Out[22]=23(*此時x從鍵盤上被賦值23)

In[23]:=x+1Out[23]=24下一頁第26頁/共61頁電氣學院學習部資料庫返回第27頁/共61頁電氣學院學習部資料庫(3)變量替換變量替換類似于數(shù)學中的計算函數(shù)在某一點的函數(shù)值。Mathematica中變量替換的一般形式為:表達式/.變量名1>表達式1或

表達式/.{變量名1>表達式1,變量名2>表達式2,…}

這里符號“/.”是由鍵盤上的兩個符號“/”和“.”組成的,中間不能有空格。同樣,“>”也是由鍵盤上的兩個符號“”和“>”組成的,中間也不能有空格。例如:In[24]:=2x+3y/.x->2.1

Out[24]=4.2+3yIn[25]:=2x+3y/.{x->2.1,y->1+a}

Out[25]=4.2+3(1+a)

第28頁/共61頁電氣學院學習部資料庫清除變量的含義是清除給變量所賦的值,它的命令形式為:變量名=.或Clear[變量名1,變量名2,…]清除變量后,變量名就還原成一般的數(shù)學符號了。

1.3.3Mathematica中有關變量的注意事項

使用變量前先用清除命令清除其中的內(nèi)容

Mathematica中的變量名還可以用作代數(shù)中的數(shù)學符號,在Mathematica的命令或程序中出現(xiàn)的任何合法的變量名符號,如果該變量名所代表的變量沒有被賦值,則它就作為數(shù)學算式中的符號參與數(shù)學的公式推導和運算;如果該變量被賦值了,則用該變量所賦的值參與對應數(shù)學的公式推導和運算。因此,如果用戶在做符號運算時使用的符號有被賦值的變量名,則就會出現(xiàn)察覺不到的錯誤。

第29頁/共61頁電氣學院學習部資料庫變量替換時變量本身還是數(shù)學符號,沒有發(fā)生變量賦值的行為如:In[26]:=x=9;

In[27]:=6/x-7

Out[27]=-19/3In[28]:=x=.In[29]:=6x-7/.x->9Out[29]=-19/3In[30]:=6/x-7Out[30]=6/x-7第30頁/共61頁電氣學院學習部資料庫1.4Mathematica中的函數(shù)Mathematica有很豐富的內(nèi)部函數(shù),它們是Mathematica系統(tǒng)自帶的函數(shù),函數(shù)名一般使用數(shù)學中的英文單詞,只要輸入相應的函數(shù)名,就可以方便地使用這些函數(shù)。內(nèi)部函數(shù)既有數(shù)學中常用的函數(shù),又有工程中用的特殊函數(shù)。如果用戶想自己定義一個函數(shù),Mathematica也提供了這種功能。Mathematica中的函數(shù)自變量應該用方括號[]括起,不能用圓括()號括起,即一個數(shù)學中的函數(shù)f(x,y,…)應該寫為f[x,y,…]才行。第31頁/共61頁電氣學院學習部資料庫1.4.1Mathematica中的內(nèi)部函數(shù)Mathematica的內(nèi)部函數(shù)名字大部分是其英文單詞的全名,如Random,Conjugate等。Mathematica內(nèi)部函數(shù)的名字第一個字母一定要大寫,其后的字母一般是小寫的,不過如果該名字有幾個含義,則函數(shù)名字中體現(xiàn)每個含義的第一個字母也要大寫,如反正切函數(shù)arctanx中含有反“arc”和正切“tan”兩個含義,故它的Mathematica函數(shù)表示為ArcTan[x]。下面列舉一些常用的Mathematica內(nèi)部函數(shù):(1)數(shù)值函數(shù):Abs[x]表示x的絕對值|x|Round[x]表示最接近x的整數(shù)Floor[x]表示不大于x的最大整數(shù)Ceiling[x]表示不小于x的最大整數(shù)Sign[x]表示x的符號函數(shù)sgn(x)第32頁/共61頁電氣學院學習部資料庫Exp[x]表示以自然數(shù)為底的指數(shù)函數(shù)exLog[x]表示以自然數(shù)為底的對數(shù)函數(shù)lnxLog[a,x]表示以數(shù)a為底的對數(shù)函數(shù)logaxSin[x],Cos[x]表示正弦函數(shù)sinx,余弦函數(shù)cosxTan[x],Cot[x]表示正切函數(shù)tanx,余切函數(shù)cotxArcSin[x],ArcCos[x]表示反正弦函數(shù)arcsinx,反余弦函數(shù)

arccosxArcTan[x],ArcCot[x]表示反正切函數(shù)arctanx,反余切函數(shù)

arccotxMax[x1,x2,…,xn]表示取出實數(shù)x1,x2,…。,xn的最大值Max[s]表示取出表s中所有數(shù)的最大值Min[x1,x2,…,xn]表示取出實數(shù)x1,x2,…。,xn的最小值Min[s]表示取出表s中所有數(shù)的最小值第33頁/共61頁電氣學院學習部資料庫n!表示階乘n(n-1)(n-2)...1n!!表示雙階乘n(n-2)(n-4)...Mod[m,n]表示整數(shù)m除以整數(shù)n的余數(shù)Quotient[m,n]表示整數(shù)m除以整數(shù)n的整數(shù)部分GCD[m1,m2,…,mn]表示取出整數(shù)m1,m2,…。,mn的最大公約數(shù)GCD[s]表示取出表s中所有數(shù)的最大公約數(shù)LCM[m1,m2,…,mn]表示取出整數(shù)m1,m2,…。,mn的最小公倍數(shù)LCM[s]表示取出表s中所有數(shù)的最小公倍數(shù)Binomial[n,m]表示二項式系數(shù)Re[z]取復數(shù)z的實部Im[z]取復數(shù)z的虛部Conjugate[z]取復數(shù)z的共軛復數(shù)Sqrt[x]表示x的平方根函數(shù)第34頁/共61頁電氣學院學習部資料庫舉例說明:

In[31]:=Abs[-4]

Out[31]=4In[32]:=Round[1.1]

Out[32]=1In[33]:=Round[1.9]

Out[33]=2In[34]:=

Floor[2.1]Out[34]=2In[35]:=

Ceiling[2.1]Out[35]=3In[36]:=

Sign[22]Out[36]=1In[37]:=

Sign[-2222]Out[37]=-1第35頁/共61頁電氣學院學習部資料庫舉例說明:

In[31]:=

Exp[5]Out[31]=e5In[32]:=

Log[1]Out[32]=0In[33]:=Log[10,100]Out[33]=2In[34]:=Sin[0]Out[34]=0In[35]:=

Cos[0]Out[35]=1In[36]=Tan[Pi]Out[36]=0In[37]=Cot[Pi/2]Out[37]=0In[38]=ArcSin[1]Out[38]=Pi/2In[39]=ArcTan[1]Out[39]=Pi/4第36頁/共61頁電氣學院學習部資料庫舉例說明:

In[31]:=Max[9,5,-4,3.1]

Out[31]=9In[32]:=Min[9,5,-4,3.1]

Out[32]=-4在9,5,-4,3.1這四個數(shù)中,最大的是9,最小的是-4In[33]:=Max[{2,5,-4,{-3.1,8},3]

Out[33]=8In[34]:=Mod[26,3]

Out[34]=2In[35]:=Quotient[26,3]

Out[35]=826除以3,得8,余數(shù)為2,Mod和Quotient功能不同

In[36]=Re[3+4i]

Out[36]=3求3+4i的實部,求虛部用ImIn[37]=Sqrt[4]Out[37]=2第37頁/共61頁電氣學院學習部資料庫練習:

1用mathematica數(shù)學軟件計算下列各式值(1)1238+e2.3×log23÷cos21o(2)tan(-x2)arccosx,在x=0.25和x=0.78x的函數(shù)值2假設有一種傳染病,任何人得病后,在傳染期內(nèi)不會四無,且最初有m人患病,每個人年平均傳染率為k,治愈率為i,若一年內(nèi)等時間間隔檢測n次,則一年后患病人數(shù)為?若檢測次數(shù)無限次數(shù)增加,一年后傳染病人數(shù)會無限增加嗎?第38頁/共61頁電氣學院學習部資料庫函數(shù)形式功能Random[]隨機給出閉區(qū)間[0,1]內(nèi)的一個實數(shù)Random[Real,xmax]隨機給出閉區(qū)間[0,xmax]內(nèi)的一個實數(shù)Random[Real,{xmin,xmax}]隨機給出閉區(qū)間[xmin,xmax]內(nèi)的一個實數(shù)Random[Integer]隨機給出整數(shù)0或1Random[Integer,{xmin,xmax}]隨機給出xmin到xmax之間的一個整數(shù)Random[Complex]隨機給出單位正方形內(nèi)的一個復數(shù)(2)隨機函數(shù):第39頁/共61頁電氣學院學習部資料庫舉例:(i)產(chǎn)生小于等于5的一個非負隨機實數(shù)。命令:In[39]:=Random[Real,5]Out[39]=4.72088(ii)產(chǎn)生閉區(qū)間[0,1]內(nèi)的6個隨機實數(shù)的一個表。命令:In[40]:=Table[Random[],{6}]Out[40]={0.836874,0.347154,0.150818,0.373472,0.689255,0.546614}(iii)產(chǎn)生閉區(qū)間[-2,10]內(nèi)的5個隨機實數(shù)的一個表。命令:In[41]:=Table[Random[Real,{-2,10}],{5}]Out[41]={8.873,-0.643032,2.00279,4.83199,4.47409}(iv)產(chǎn)生1到8之間的10個隨機整數(shù)的一個表。命令:In[42]:=Table[Random[Integer,{1,8}],{10}]Out[42]={3,8,1,5,4,5,6,8,6,5}(v)產(chǎn)生單位正方形內(nèi)的5個隨機復數(shù)的一個表。命令:In[43]:=Table[Random[Complex]],{5}]Out[43]={0.537111+0.917944I,0.944971+0.283356I,0.289054+0.937503I}第40頁/共61頁電氣學院學習部資料庫1.4.2Mathematica中的自定義函數(shù)

Mathematica自定義函數(shù)的一般命令為:

函數(shù)名[自變量名1_,自變量名2_,]:=表達式這里函數(shù)名與變量名的規(guī)定相同,方括號中的每個自變量名后都要有一個下劃線“_”,中部的定義號“:=”的兩個符號是一個整體,中間不能有空格。常用的自定義函數(shù)命令有:定義一個一元函數(shù)

函數(shù)名[自變量名_]:=表達式例如:

定義一個函數(shù)y=asinx+x5,a是參數(shù)命令:In[44]:=y[x_]:=a*Sin[x]+x^5定義一個二元函數(shù)

函數(shù)名[自變量名1_,自變量名2_]:=表達式例如:定義一個函數(shù)z1=tan(x/y)-ye5x

命令:In[45]:=z1[x_,y_]:=Tan[x/y]+y*Exp[5x]第41頁/共61頁電氣學院學習部資料庫自定義函數(shù)的幾點注意事項:自定義函數(shù)名的第一個字母不能大寫以利于區(qū)別內(nèi)部函數(shù)。鍵入自定義函數(shù)并按下Shift+Enter鍵后,Mathematica不在計算機屏幕顯示輸出結(jié)果Out[n],只是記住該自定義函數(shù)的函數(shù)名和對應的表達式,以利于后面的函數(shù)求值和運算使用。如果自定義函數(shù)不再使用,應該及時清除該自定義函數(shù)以釋放由自定義函數(shù)占用的內(nèi)存空間,清除自定義函數(shù)的命令與清除變量的命令相同,即清除自定義函數(shù)的命令為:

Clear[自定義函數(shù)名]

第42頁/共61頁電氣學院學習部資料庫舉例:寫出從集合x={1,2,3,4,5,6,7,8,9,0}中等概率取出n個元素的自定義函數(shù)(可以重復抽?。=猓篗athematica命令:In[46]:=drawout[x_,n_]:=x[[Table[Random[Integer,{1,Length[x]}],{n}]]]In[47]:=x={1,2,3,4,5,6,7,8,9,0};In[48]:=drawout[x,5](*隨機取出5個元素)Out[48]={0,3,3,5,9}In[49]:=drawout[x,12](*隨機取出12個元素)Out[49]={1,2,5,7,9,4,8,4,1,4,0,6}--------------------------------------------------------------------------------------------------------

本題自定義函數(shù)drawout[x_,n_]是由(i)Random[Integer,{1,Length[x]}](ii)Table[Random[Integer,{1,Length[x]}],{n}](iii)x[[表]]

三個函數(shù)的復合構(gòu)成的。第43頁/共61頁電氣學院學習部資料庫1.4.3Mathematica中的函數(shù)求值表示函數(shù)在某一點的函數(shù)值有兩種方式:一種是數(shù)學方式,即直接在函數(shù)中把自變量用一個值或式子代替,如Sin[2.3],Sqrt[a+1],z1[3,5]等;另一種為變量替換的方式:函數(shù)/.變量名>數(shù)值或表達式或函數(shù)/.{變量名1>數(shù)值1或表達式1,變量名2>數(shù)值2或表達式2,…}例如:In[46]:=fn[x_]:=x*Cos[x]+Sqrt[x]In[47]:=fn[2]Out[47]:=Sqrt[2]+2Cos[2]In[48]:=fn[x]/.x->8Out[48]=2Sqrt[2]+8Cos[8]In[49]:=fn[x]/.x->a+1

Out[49]=Sqrt[1+a]+(1+a)Cos[1+a]In[50]:=fn[x_,y_]:=x^3+y^2In[51]:=fn[2,a]Out[51]:=8+a2In[52]:=fn[x,y]/.{x->a,y->b+2}Out[52]=a3+(2+b)2第44頁/共61頁電氣學院學習部資料庫1.4.4純函數(shù)

純函數(shù)命令形式如下:Function[變量或變量表,表達式]注意:Function僅表示純函數(shù)的記號,它的縮寫形式“

[變量或變量表,表達式]&”使行文更簡潔。純函數(shù)用&分隔函數(shù)定義和調(diào)用的(實在)函數(shù),&后放調(diào)用的參數(shù).當函數(shù)中只有一個變量時,用#表示變量,否則用#1,#2,…分別表示第一個變量和第二個變量等。第45頁/共61頁電氣學院學習部資料庫舉例:In[56]:=Function[x,Cos[x]^2-Sin[x]]Out[56]=Function[x,Cos[x]2-Sin[x]](函數(shù)已建立)In[57]:=%[3]

(*計算x=3時的函數(shù)值f(3)Out[57]=Cos[3]^2-Sin[3](*輸出函數(shù)值Cos[3]^2-Sin[3])In[58]:=s=Function[{x,y},x-y]

Out[58]=Function[{x,y},x-y]In[59]:=s[19,10]Out[59]=9In[60]:=(#+1)&[x]Out[60]:=1+xIn[61]:=(#1-#2)&[a,b]

Out[61]=a-bIn[62]:= #1^#2&[2,3]

Out[62]:=8第46頁/共61頁電氣學院學習部資料庫1.5Mathematica中的表達式

數(shù)學中常用的表達式有算術表達式、關系表達式和邏輯表達式。1.5.1Mathematica中的算術表達式在Mathematica中,算術表達式是由算術運算符(加(+)、減(-)、乘(*)、除(/)和乘方(^))連接常數(shù)、變量、函數(shù)構(gòu)成的一個式子。如:57、Sqrt[x]、2+3.2、3*x-Exp[y]、(Sin[Pi/3]^4-1)*x+1、(a+1)/(3-a)-(b-1)/a等都是算術表達式。符號%、%%、%n在Mathematica中分別表示最后一次、次后一次和第n次的輸出結(jié)果,。算術表達式的運算順序是括號優(yōu)先、同級運算遵守從左到右的先后順序運算、算符運算順序的優(yōu)先級按(由高到低):函數(shù)計算乘冪乘除加減第47頁/共61頁電氣學院學習部資料庫

1.5.2Mathematica中的關系表達式關系表達式也稱為算術關系表達式,常用來比較兩個算術表達式值的大小。在Mathematica中,關系表達式的一般形式為:

<算術表達式><關系運算符><算術表達式>Mathematica的關系運算符有六種,它們的表示和含義如下:關系運算符含義對應的數(shù)學符號例子==相等關系=如x+3=0應該寫為x+3==0!=不等關系如x+30應該寫為x+3!=0>大于關系>如x>4應該寫為x>4>=大于等于關系如x4應該寫為x>=4<小于關系<如x<4應該寫為x<4<=小于等于關系如x4應該寫為x<=4第48頁/共61頁電氣學院學習部資料庫注意:由兩個符號構(gòu)成的關系運算符==、!=、>=、<=中間不能有空格或其他符號。關系表達式的計算順序為:先分別計算兩個算術表達式的值,再比較它們的值。關系表達式的計算結(jié)果是三個邏輯值True(真)、False(假)和非真非假,取值的規(guī)則為:當關系表達式成立時,取值為True;當關系表達式不成立時,取值為False;當關系表達式不能確定時,將關系表達式原樣輸出,表示取值為非真非假。關系表達式中關系運算符的計算優(yōu)先級別低于算術運算符。第49頁/共61頁電氣學院學習部資料庫1.5.3Mathematica中的邏輯表達式關系表達式只能表示一個條件,如果考慮的問題涉及到多個條件的組合,用邏輯表達式最方便。關系表達式的形式有:

<關系表達式><邏輯運算符><關系表達式>

或<邏輯運算符><關系表達式>或<關系表達式><邏輯運算符1><關系表達式><邏輯運算符2>…<關系表達式>常用的Mathematica的邏輯運算符有三種:邏輯運算符名稱含義

!邏輯非當關系表達式A為真時,!A為假;當關系表達式A為假時,!A為真。&&

邏輯與

當關系表達式A和B都為真時,A&&B為真,否則為假。

||

邏輯或當關系表達式A和B都為假時,A||B為假,否則為真。第50頁/共61頁電氣學院學習部資料庫

邏輯表達式常用來表示數(shù)學條件,特別在描述變量的范圍時比關系表達式更為簡潔和方便,如

x(a,b]邏輯表達式為x>a&&x<=bx(a,b]邏輯表達式為x<=a||x>b2<x<4或1<=y<3

邏輯表達式為(x>2&&x<4)||(y>=1&&y<3)第51頁/共61頁電氣學院學習部資料庫1.5.4Mathematica中的復合表達式

在Mathematica中,一個用分號隔開的表達式序列稱為一個復合表達式,它也稱為一個過程。運行Mathematica中的一個復合表達式就是依次執(zhí)行過程中的每個表達式,且過程中最后一個表達式的值作為該復合表達式的值,例如:In[63]:=t=1;u=t+4;Sin[u]

Out[63]=Sin[5](顯示Sin[u]的值)第52頁/共61頁電氣學院學習部資料庫1.6Mathematica中的一些符號和語句

1.6.1Mathematica中的專用符符號意 義%倒數(shù)第一次輸出的內(nèi)容

%%倒數(shù)第二次輸出的內(nèi)容%n第n次輸出內(nèi)容,對應Out[n]的輸出式子

?顯示該命令的簡單使用方法??顯示該命令的詳細使用方法

;運算分號前面的表達式,但不顯示計算結(jié)果

->箭頭右面的內(nèi)容替換箭頭左邊的內(nèi)容第53頁/共61頁電氣學院學習部資料庫(1)輸出結(jié)果替代符:%,%%,%n

例1.

求2的平方根(默認精度)、求10位精度、最后檢驗在計算過程中是否存在較大的誤差。

解:In[1]:=Sqrt[2] Out[1]:=Sqrt[2]In[2]:=N[%]Out[2]:=1.41421In[3]:=N[%%,10]Out[3]:=1.414213562In[4]:=(%1)^2 Out[4]:=2In[5]:=(%2)^2Out[5]:=2.輸出:Out[4]:=2和Out[5]:=2.說明本題計算不存在較大誤差。第54頁/共61頁電氣學院學習部資料庫(2)查看幫助符號?、??的使用例2.

查看函數(shù)N[]的大致用法和詳細用法

Mathematica命令:

輸入:In[6]:=?N

輸入:In[7]:=??N

例3

查看以Exp開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論