Mathematica完美教程.ppt_第1頁
Mathematica完美教程.ppt_第2頁
Mathematica完美教程.ppt_第3頁
Mathematica完美教程.ppt_第4頁
Mathematica完美教程.ppt_第5頁
免費預(yù)覽已結(jié)束,剩余195頁可下載查看

下載本文檔

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

文檔簡介

1、Mathematica 教程,第1章 Mathematica概述 第2章 Mathematica的基本量 第3章 Mathematica的基本運算 第4章 Mathematica函數(shù)作圖 第5章 Mathematica微積分的基本操作 第6章 Mathematica微分方程的求解 第7章 Mathematica程序設(shè)計,第1章 Mathematica概述,1.1.1 Mathematica的啟動和運行,Mathematica是美國Wolfram研究公司生產(chǎn)的一種數(shù)學(xué)分析型的軟件,以符號計算見長,也具有高精度的數(shù)值計算功能和強(qiáng)大的圖形功能。 假設(shè)在Windows環(huán)境下已安裝好Mathematic

2、a4.0,啟動Windows后,在“開始”菜單的“程序”中單擊 ,就啟動了Mathematica4.0,在屏幕上顯示如圖的Notebook窗口,系統(tǒng)暫時取名Untitled-1,直到用戶保存時重新命名為止。,輸入1+1,然后按下Shift+Enter鍵,這時系統(tǒng)開始計算并輸出計算結(jié)果,并給輸入和輸出附上次序標(biāo)識In1和Out1,注意In1是計算后才出現(xiàn)的;再輸入第二個表達(dá)式,要求系統(tǒng)將一個二項式展開,按Shift+Enter輸出計算結(jié)果后,系統(tǒng)分別將其標(biāo)識為In2和Out2。如圖,在Mathematica的Notebook界面下,可以用這種交互方式完成各種運算,如函數(shù)作圖,求極限、解方程等,也

3、可以用它編寫像C那樣的結(jié)構(gòu)化程序。 在Mathematica系統(tǒng)中定義了許多功能強(qiáng)大的函數(shù),我們稱之為內(nèi)建函數(shù)(built-in function), 直接調(diào)用這些函數(shù)可以取到事半功倍的效果。這些函數(shù)分為兩類: (1) 一類是數(shù)學(xué)意義上的函數(shù),如:絕對值函數(shù)Absx,正弦函數(shù)Sinx,余弦函數(shù)Cosx,以e為底的對數(shù)函數(shù)Logx,以a為底的對數(shù)函數(shù)Loga,x等; (2) 第二類是命令意義上的函數(shù),如作函數(shù)圖形的函數(shù)Plotfx,x,xmin,xmax,解方程函數(shù)Solveeqn,x,求導(dǎo)函數(shù)Dfx,x等。,Mathematica 嚴(yán)格區(qū)分大小寫。 一般地,內(nèi)建函數(shù)的首寫字母必須大寫,有時一個

4、函數(shù)名是由幾個單詞構(gòu)成,則每個單詞的首寫字母也必須大寫,如:求局部極小值函數(shù)FindMinimumfx,x,x0等。第二點要注意的是,在Mathematica中,函數(shù)名和自變量之間的分隔符是用方括號“ ”,而不是一般數(shù)學(xué)書上用的圓括號“( )”,初學(xué)者很容易犯這類錯誤。,必須注意的是,如果輸入了不合語法規(guī)則的表達(dá)式,系統(tǒng)會顯示出錯信息,并且不給出計算結(jié)果。 例如:要畫正弦函數(shù)在區(qū)間-10,10上的圖形,輸入plotSinx,x,-10,10,則系統(tǒng)提示“可能有拼寫錯誤, 新符號plot 很像已經(jīng)存在的符號Plot”,實際上,系統(tǒng)作圖命令“Plot”第一個字母必須大寫,一般地,系統(tǒng)內(nèi)建函數(shù)首寫字

5、母都要大寫。再輸入PlotSinx,x,-10,10 ,系統(tǒng)又提示缺少右方括號,并且將不配對的括號用藍(lán)色顯示,如圖,一個表達(dá)式只有準(zhǔn)確無誤,方能得出正確結(jié)果。學(xué)會看系統(tǒng)出錯信息能幫助我們較快找出錯誤,提高工作效率。,1.1.2 表達(dá)式的輸入,Mathematica 提供了多種輸入數(shù)學(xué)表達(dá)式的方法。除了用鍵盤輸入外, 還可以使用工具欄或者快捷方式健入運算符、矩陣或數(shù)學(xué)表達(dá)式。 1數(shù)學(xué)表達(dá)式二維格式的輸入,Mathematic擔(dān)提供了兩種格式的數(shù)學(xué)表達(dá)式。形如x/(2+3x)+y*(x-w)的稱為一維格式,形如 的稱為二維格式。 你可以使用快捷方式輸入二維格式,也可用基本輸入工具欄輸入二維格式。,

6、可從FILE菜單中激活Palettes-Basic Input 工具欄,也可輸入,并且使用工具欄可輸入更復(fù)雜的數(shù)學(xué)表達(dá)式。 如圖:,2特殊字符的輸入,MathemMatica 還提供了用以輸入各種特殊符號的工具樣?;据斎?工具樣包含了常用的特殊字符(上圖),只要單擊這些字符按鈕即可輸入。 若要輸入其它的 特殊字符或運算符 號,必須使用從FILE 菜單中選取Complete Characters工具欄, 如圖:,1.2 Mathematica的聯(lián)機(jī)幫助系統(tǒng),用Mathematica的過程中,常常需要了解一個命令的詳細(xì)用法,或者想知系統(tǒng)中是否有完成某一計算的命令,聯(lián)機(jī)幫助系統(tǒng)永遠(yuǎn)是最詳細(xì)、最方便

7、的資料庫 1獲取函數(shù)和命令的幫助:在Notebook界面下, 用 ?或 ? 可向系統(tǒng)查詢運算符、函數(shù)和命令的定義和用法, 獲取簡單而直接的幫助信息。例如, 向系統(tǒng)查詢作圖函數(shù)Plot命令的用法?Plot 系統(tǒng)將給出調(diào)用Plot的格式以及Plot命令的功能 (如果用兩個問號“?”,則信息會更詳細(xì)一些)。? Plot* 給出所有以Plot這四個字母開頭的命令 2 Help菜單:任何時候都可以通過按F1鍵或點擊幫助菜單項Help Browser, 調(diào)出幫助菜單, 如下圖所示,其中的各按鈕用途如下表所示,如果要查找Mathematica中具有某個功能的函數(shù),可以通過幫助菜單中的Mahematica使用

8、手冊,通過其目錄索引可以快速定位到自己要找的幫助信息。 例如:需要查找Mathematica中有關(guān)解方程的命令,單擊“The Mathematica Book”按鈕,再單擊“Contents”,在目錄中找到有關(guān)解方程的節(jié)次,點擊相應(yīng)的超鏈接,有關(guān)內(nèi)容的詳細(xì)說明就馬上調(diào)出來了。如果知道具體的函數(shù)名,但不知其詳細(xì)使用說明,可以在命令按鈕 Goto 右邊的文本框中鍵入函數(shù)名,按回車鍵后就顯示有關(guān)函數(shù)的定義、例題和相關(guān)聯(lián)的章節(jié)。例如,要查找函數(shù)Plot的用法,只要在文本框中鍵入Plot,按回車鍵后顯示如圖的窗口,,再按回車鍵,則顯示Plot函數(shù)的詳細(xì)用法和例題。如果已經(jīng)確知Mathematica 中有

9、具有某個功能的函數(shù),但不知具體函數(shù)名,可以點擊Built-in Functions按鈕,再按功能分類從粗到細(xì)一步一步找到具體的函數(shù),例如,要找畫一元函數(shù)圖形的函數(shù),點擊Built-in Functions -Graphics and Sound-2D Plots-Plot,找到Plot的幫助信息。 如果知道具體的函數(shù)名,但不知其詳細(xì)使用說明,可以在命令按鈕 Goto 右邊的文本框中鍵入函數(shù)名,按回車鍵后就顯示有關(guān)函數(shù)的定義、例題和相關(guān)聯(lián)的章節(jié)。例如,要查找函數(shù)Plot的用法,只要在文本框中鍵入Plot,按回車鍵后顯示如圖1-5的窗口,再按回車鍵,則顯示Plot函數(shù)的詳細(xì)用法和例題。 如果已經(jīng)確

10、知Mathematica 中有具有某個功能的函數(shù),但不知具體函數(shù)名,可以點擊Built-in Functions按鈕,再按功能分類從粗到細(xì)一步一步找到具體的函數(shù),例如,要找畫一元函數(shù)圖形的函數(shù),點擊 Built-in Functions -Graphics and Sound-2D Plots-Plot,找到Plot的幫助信息。,第2章 Mathematica的基本量,2.1 數(shù)據(jù)類型和常數(shù),1數(shù)值類型 在Mathematic中,基本的數(shù)值類型有四種:整數(shù),有理數(shù)、實數(shù)和復(fù)數(shù)。 如果你的計算機(jī)的內(nèi)存足夠大,Mathemateic 可以表示任意長度的精確實數(shù),而不受所用的計算機(jī)字長的影響。整數(shù)與

11、整數(shù)的計算結(jié)果仍是精確的整數(shù)或是有理數(shù)。 例如:2的100次方是一個31位的整數(shù): ln1:=2100 Out1=1267650600228228229401496703205376,在Mathematica中允許使用分?jǐn)?shù),也就是用有理數(shù)表示化簡過的分?jǐn)?shù)。當(dāng)兩個整數(shù)相除而又不能整除時,系統(tǒng)就用有理數(shù)來表示,即有理數(shù)是由兩個整數(shù)的比來組成如: In2:=12345/5555 Out2=2469/1111 實數(shù)是用浮點數(shù)表示的,Mathematica實數(shù)的有效位可取任意位數(shù),是一種具有任意精確度的近似實數(shù),當(dāng)然在計算的時候也可以控制實數(shù)的精度。實數(shù)有兩種表示方法:一種是小數(shù)點另外一種是用指數(shù)方法表

12、示的。如:,ln3:=0.239998 Out3=0.23998 ln4:=0.12*1011 Out4=0.12*1011 實數(shù)也可以與整數(shù),有理數(shù)進(jìn)行混合運算結(jié)果還是一個實數(shù)。 復(fù)數(shù)是由實部和虛部組成。實部和虛部可以用整數(shù),實數(shù),有理數(shù)表示。在Mathematica中,用I表示虛數(shù)單位如: In6:=3+0.7I Out6:=3+0.7I,2.不同類型數(shù)的轉(zhuǎn)換 在Mathematica的不同應(yīng)用中,通常對數(shù)字的類型要求是不同的。例如在公式推導(dǎo)中的數(shù)字常用整數(shù)或有理數(shù)表示,而在數(shù)值計算中的數(shù)字常用實數(shù)表示。在一般情況下在輸出行Outn中,系統(tǒng)根據(jù)輸入行l(wèi)nn的數(shù)字類型對計算結(jié)果做出相應(yīng)的處理

13、。如果有一些特殊的要求,就要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。 在Mathematica中的提供以下幾個函數(shù)達(dá)到轉(zhuǎn)換的目的:,舉例 ln1=N5/3,20 Out1=1.66666666666666666667 ln2:=N%,10 Out2=1.66666667 二行輸出是把上面計算的結(jié)果變?yōu)?0位精度的數(shù)字。表示上一輸出結(jié)果。 In3=Rationalize% Out3=5/3,3.數(shù)學(xué)常數(shù) Mathematica 中定義了一些常見的數(shù)學(xué)常數(shù),這些數(shù)學(xué)常數(shù)都是精確數(shù),例如表示圓周率。,數(shù)學(xué)常數(shù)可用在公式推導(dǎo)和數(shù)值計算中。在數(shù)值計算中表示精確值,如: In1:=Pi2 Out1= ln2:=Pi2/N Ou

14、t2=9.86961,4.數(shù)的輸出形式 在數(shù)的輸出中可以使用轉(zhuǎn)換函數(shù)進(jìn)行不同數(shù)據(jù)類型和精度的轉(zhuǎn)換。另外對一些特殊要求的格式還可以使用如下的格式函數(shù):,例如: ln1:=NPi30,30 Out1= ln2:=NumberForm%,10 Out2/NumberForm= 下面的函數(shù)輸出冪值可被3整除的實數(shù) In3=EngineeringForm% Out3/EngineeringForm=,2.2 變量,1變量的命名 Mathematica中內(nèi)部函數(shù)和命令都是以大寫字母開始的標(biāo)示符。為了不會與它門混淆,我們自定義的變量應(yīng)該是以小寫字母開始,后跟數(shù)字和字母的組合,長度不限。 例如:a12,ast

15、,aST都是合法的,而12a,z*a是非法的。另外在Mathematica中的變量是區(qū)分大小寫的 在Mathematica中,變量不僅可以存放一個數(shù)值,還可以存放表達(dá)式或復(fù)雜的算式。,2給變量賦值 在Mathmatica中用等號為變量賦值。同一個變量可以表示一個數(shù)值,一個數(shù)組,一個表達(dá)式,甚至一個圖形。如: In1:=x=3 Out1=3 In2:=x2+2x Out2=15 In3:=x=%+1 Out3=16,對不同的變量可同時賦不同的值, 例如: In4:=u,v,w=1,2,3 Out4=1,2,3 In5:=2u+3v+w Out5=11,對于已定義的變量,當(dāng)你不再使用它時,為防止變

16、量值的混淆,可以隨時用.清除它的值,如果變量本身也要清除用函數(shù)Clearx 例如 ln6:=u=. ln7:=2u+v Out7=2+2u,3.變量的替換 在給定一個表達(dá)式時其中的變量可能取不同的值,這是可用變量替換來計算表達(dá)式的不同值。方法為用expr/.例如: In1:=f=x/2+1 Out1= In2:=f/.x-1 Out2= In3:=f/.x-2 Out3=3,如果表達(dá)式中有多個變量也可以同時替換方法為例如有兩個: expr/.x-xval,y-val In4:=(x+y)(x-y)2/.x-3,y-1-a Out4= (4 - a) (2 + a)2,2.3 函數(shù),1系統(tǒng)函數(shù)

17、在Mathmatic中定義了大量的數(shù)學(xué)函數(shù)可以直接調(diào)用,這些函數(shù)其名稱一般表達(dá)了一定的意義,可以幫助我們理解。下面是幾個常用的函數(shù):,Mathematica中的函數(shù)與數(shù)學(xué)上的函數(shù)有些不同的地方,Mathematica中函數(shù)是一個具有獨立功能的程序模塊,可以直接被調(diào)用。同時每一函數(shù)也可以包括一個,或多個參數(shù),也可以沒有參數(shù)。參數(shù)的的數(shù)據(jù)類型也比較復(fù)雜。更加詳細(xì)的可以參看系統(tǒng)的幫助,了解各個函數(shù)的功能和使用方法是學(xué)習(xí)Mathematica軟件的基礎(chǔ),2函數(shù)的定義 (1)函數(shù)的立即定義 立即定義函數(shù)的語法如下 fx_=expr 函數(shù)名為f,自變量為x,expr是表達(dá)式。在執(zhí)行時會把expr 中的x都

18、換為f的自變量x(不是x_)。函數(shù)的自變量具有局部性,只對所在的函數(shù)起作用。函數(shù)執(zhí)行結(jié)束后也就沒有了,不會改變其它全局定義的同名變量的值。請看下面的例子 定義函數(shù) fx_=x*Sinx+x2 對定義的函數(shù)我們可以求函數(shù)值,也可繪制它的圖形。,對于定義的函數(shù)我們可以使用命令Clearf清除掉而Removef則從系統(tǒng)中刪除該函數(shù)。 (2)多變量函數(shù)的定義 也可以定義多個變量的函數(shù),格式為fx_,y_,z_,=expr 自變量為x,y,z.,相應(yīng)的expr中的自變量 會被替換。 例如定義函數(shù) f(x,y)=xy+ycosx,(3)延遲定義函數(shù) 延遲定義函數(shù)從定義方法上與即時定義的區(qū)別為“=”與“:=

19、”延遲定義的格式為fx_:=expr其他操作基本相同。那么延遲定義和即時定義的主要區(qū)別是什么?即時定義函數(shù)在輸入函數(shù)后立即定義函數(shù)并存放在內(nèi)存中并可直接調(diào)用。延時定義只是在調(diào)用函數(shù)時才真正定義函數(shù)。,(4)使用If命令定義函數(shù) 如果要定義如: 這樣的分段函數(shù)可以用If語句來定義。 If語句的格式為If條件,值1,值2如果條件成立取“值1”,否則取“值2”,下面用If語句的定義結(jié)果,這里使用了兩個If嵌套,2.4 表,將一些相互關(guān)聯(lián)的元素放在一起,使它們成為一個整體。既可以對整體操作,也可以對整體中的一個元素單獨進(jìn)行操作。在Mathematica中這樣的數(shù)據(jù)結(jié)構(gòu)就稱作表(List)。表主要有三個

20、用法:表a,b,c可以表示一個向量;表a,b,c,d可表示一個矩陣。,1建 表 在表中元素較少時,可以采取直接列表的方式列出表中的元素,如1,2,3.請看下面的操作 In1:=1,2,3 Out1=1,2,3 下面是符號表達(dá)式的列表 In2:=1+%x+x% Out2=1+2x,1+2x+x2,1+3x+x2,下面是對列表中的表達(dá)式對x求導(dǎo) In3:=D%,x Out3=2,2+2x,3+3x2 In4:=%/.x-1 Out4=2,4,6 如果表中的元素較多時,可以用建表函數(shù)進(jìn)行建表。,下面給出x乘i的值的表,i的變化范圍為2,6: In1:=Tablex*i,i,2,6 Out1=2x,3

21、x,4x,5x,6x In2:=Tablex2,4 Out2=x2,x2,x2,x2 用Range函數(shù)生成一個序列數(shù) In3:=Range10 Out3=1,2,3,4,5,6,7,8,9,10 下面這個序列是以步長為2,范圍從8到20 In4:=Range8,20,2 Out4=8,10,12,14,16,18,20,上面的參數(shù)變化都是只有一個,也可制成包括多個參數(shù)的表,下面生成一個多維表: In5:=Table2i+j,i,1,3,j,3,5 Out5=5,6,7,7,8,9,9,10,11 使用函數(shù)TableForm可以以表格的方式輸出 In6:=%/TableForm Out6/Tab

22、leForm=5 6 7 7 8 9 9 10 11,2表的元素的操作 當(dāng)t表示一個表時,ti或者 Partt,i 表示t中的第i個子表。如果t=1,2,a,b, 那么t3表示“a”。 如: ln1:=t=TableI+2,jI,1,3,j,3,5 Out1=7,9,11,8,10,12,9,11,13 ln2:=t2 Out2=8,10,12,表的操作,1、制表函數(shù),2、元素操作,3、表的操作,2.5 表達(dá)式,1. 表達(dá)式的含義 Mathematica 能處理數(shù)學(xué)公式,表以及圖形等多多種數(shù)據(jù)形式。盡管他們從形式上看起來不一樣,但在Mathematica內(nèi)部都被看成同種類型,即都把他們當(dāng)作表達(dá)

23、式的形式。Mathematica 中的表達(dá)式是由常量、變量、函數(shù)、命令、運算符和括號等組成,他最典型的形式是fx,y,2表達(dá)式的表示形式 在顯示表達(dá)式時,由于需要的不同,有時我們需要表達(dá)式的展開形式,有時又需要其因子乘積的形式。在我們計算過程中可能得到很復(fù)雜的表達(dá)式,這時我們又需要對它們進(jìn)行化簡。常用的處理這種情況的函數(shù)。變換表達(dá)式表示形式函數(shù),表達(dá)式(x+y)4 (x+y2) 展開: 還原上面的表達(dá)式為因子乘積的形式:,3關(guān)系表達(dá)式與邏輯表達(dá)式 我們已經(jīng)知道“”表示給變量賦值。現(xiàn)在我們來學(xué)習(xí)一些其它的邏輯與關(guān)系算子。關(guān)系表達(dá)式是最簡單的邏輯表達(dá)式,我們常用關(guān)系表達(dá)式表示一個判別條件。例如:x

24、0, y=0。關(guān)系表達(dá)式的一般形式是:表達(dá)式關(guān)系算子表達(dá)式。其中表達(dá)式可為數(shù)字表達(dá)式、字符表達(dá)式或意義更廣泛的表達(dá)式,如一個圖形表達(dá)式等。在我們實際運用中,這兒的表達(dá)式常常是數(shù)字表達(dá)式或字符表達(dá)式。 下面出Mathematica中的各種關(guān)系算子。,給變量x,y賦值,輸出后以變量的值,如: In1:=x=2;y=9 Out1=9; In2:=xy Out2=False 下面是比較兩個表達(dá)式的大小 In3:=32y+1 Out3=True,用一個關(guān)系式只能表示一個判定條件,要表示幾個判定條件胡組合,必須用邏輯運算符將關(guān)系表達(dá)式組織在一起,我們稱表示判定條件的表達(dá)式為邏輯表達(dá)式。 下面是常用的邏輯運

25、算和它們的意義 !:非、 Printt,全局變量t的值仍為10: ln3=t=10 Out3=10,全局變量t的值仍為10: ln6:=t=10 Out6=10,Mathematica 中的模塊允許你把某變量名看作局部變量名。然而又存在有時你又希望它們?yōu)槿肿兞繒r,但變量值為局部的矛盾,這時我們可以用Block 函數(shù)。下面是一個含有全局變量x表達(dá)式,使用x的局部值計算上面的表達(dá)式:,Modulevars,body所要做的是把執(zhí)行模塊時表達(dá)式body的形式看成Mathematica程序的“代碼”。然而當(dāng)“代碼”中直接出現(xiàn)變量vats時,這些vars都將被看作局部的。Blockvats,body并不查看表達(dá)式body的形式,而在整個計算Body的過程中,實用vars的局部值。,ln12:=m=i2 Out12:=i2 In13:=Blocki=a,i+m Out13=a+a2 In14:=Module

溫馨提示

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

評論

0/150

提交評論