mathmatic教程——入門級別_一看就會參考模板_第1頁
mathmatic教程——入門級別_一看就會參考模板_第2頁
mathmatic教程——入門級別_一看就會參考模板_第3頁
mathmatic教程——入門級別_一看就會參考模板_第4頁
mathmatic教程——入門級別_一看就會參考模板_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Mathematica5教程第1章Mathematica概述1.1 運行和啟動:介紹如何啟動Mathematica軟件,如何輸入并運行命令 1.2 表達式的輸入:介紹如何使用表達式 1.3 幫助的使用:如何在mathematica中尋求幫助 第2章Mathematica的基本量2.1 數(shù)據(jù)類型和常量:mathematica中的數(shù)據(jù)類型和基本常量 2.2 變量:變量的定義,變量的替換,變量的清除等 2.3 函數(shù):函數(shù)的概念,系統(tǒng)函數(shù),自定義函數(shù)的方法 2.4 表:表的創(chuàng)建,表元素的操作,表的應用 2.5 表達式:表達式的操作 2.6 常用符號:經(jīng)常使用的一些符號的意義 第3章Mathematic

2、a的基本運算3.1 多項式運算:多項的四則運算,多項式的化簡等 3.2 方程求解:求解一般方程,條件方程,方程數(shù)值解以及方程組的求解 3.3 求積求和:求積與求和第4章 函數(shù)作圖4.1 二維函數(shù)作圖:一般函數(shù)的作圖,參數(shù)方程的繪圖 4.2 二維圖形元素:點,線等圖形元素的使用 4.3 圖形樣式:圖形的樣式,對圖形進行設置 4.4 圖形的重繪和組合:重新顯示所繪圖形,將多個圖形組合在一起 4.5 三維圖形的繪制:三維圖形的繪制,三維參數(shù)方程的圖形,三維圖形的設置 第5章 微積分的基本操作5.1 函數(shù)的極限:如何求函數(shù)的極限 5.2 導數(shù)與微分:如何求函數(shù)的導數(shù),微分 5.3 定積分與不定積分:如

3、何求函數(shù)的不定積分和定積分,以及數(shù)值積分 5.4 多變量函數(shù)的微分:如何求多元函數(shù)的偏導數(shù),微分 5.5 多變量函數(shù)的積分:如何計算重積分 5.6 無窮級數(shù):無窮級數(shù)的計算,斂散性的判斷 第6章 微分方程的求解6.1 微分方程的解:微分方程的求解 6.2 微分方程的數(shù)值解:如何求微分方程的數(shù)值解 第7章 Mathematica程序設計7.1 模塊:模塊的概念和定義方法 7.2 條件結構:條件結構的使用和定義方法 1 / 727.3 循環(huán)結構:循環(huán)結構的使用 7.4 流程控制第8章 Mathematica中的常用函數(shù)8.1 運算符和一些特殊符號:常用的和不常用一些運算符號8.2 系統(tǒng)常數(shù):系統(tǒng)定

4、義的一些常量及其意義 8.3 代數(shù)運算:表達式相關的一些運算函數(shù) 8.4 解方程:和方程求解有關的一些操作 8.5 微積分相關函數(shù):關于求導,積分,泰勒展開等相關的函數(shù) 8.6 多項式函數(shù):多項式的相關函數(shù) 8.7 隨機函數(shù):能產(chǎn)生隨機數(shù)的函數(shù)函數(shù) 8.8 數(shù)值函數(shù):和數(shù)值處理相關的函數(shù),包括一些常用的數(shù)值算法 8.9 表相關函數(shù):創(chuàng)建表,表元素的操作,表的操作函數(shù) 8.10 繪圖函數(shù):二維繪圖,三維繪圖,繪圖設置,密度圖,圖元,著色,圖形顯示等函數(shù) 8.11 流程控制函數(shù)第1章Mathematica概述1.1 Mathematica的啟動和運行Mathematica是美國Wolfram研究公

5、司生產(chǎn)的一種數(shù)學分析型的軟件,以符號計算見長,也具有高精度的數(shù)值計算功能和強大的圖形功能。假設在Windows環(huán)境下已安裝好Mathematica5.0,啟動Windows后,在“開始”菜單的“程序”中單擊,就啟動了Mathematica5.0,在屏幕上顯示如圖1的Notebook窗口,系統(tǒng)暫時取名Untitled-1,直到用戶保存時重新命名為止。圖1輸入1+1,然后按下Shif+Enter鍵,這時系統(tǒng)開始計算并輸出計算結果,并給輸入和輸出附上次序標識In1和Out1,注意In1是計算后才出現(xiàn)的;再輸入第二個表達式,要求系統(tǒng)將一個二項式x5 + y5展開,按Shift+Enter輸出計算結果后

6、,系統(tǒng)分別將其標識為In2和Out2,如圖2。圖2在Mathematica的Notebook界面下,可以用這種交互方式完成各種運算,如函數(shù)作圖,求極限、解方程等,也可以用它編寫像C那樣的結構化程序。在Mathematica系統(tǒng)中定義了許多功能強大的函數(shù),我們稱之為內建函數(shù)(built-in function), 直接調用這些函數(shù)可以取到事半功倍的效果。這些函數(shù)分為兩類,一類是數(shù)學意義上的函數(shù),如:絕對值函數(shù)Absx,正弦函數(shù)Sinx,余弦函數(shù)Cosx,以e為底的對數(shù)函數(shù)Logx,以a為底的對數(shù)函數(shù)Loga,x等;第二類是命令意義上的函數(shù),如作函數(shù)圖形的函數(shù)Plotfx,x,xmin,xmax,

7、解方程函數(shù)Solveeqn,x,求導函數(shù)Dfx,x等。必須注意的是:Mathematica 嚴格區(qū)分大小寫,一般地,內建函數(shù)的首寫字母必須大寫,有時一個函數(shù)名是由幾個單詞構成,則每個單詞的首寫字母也必須大寫,如:求局部極小值函數(shù)FindMinimumfx,x,x0等。第二點要注意的是,在Mathematica中,函數(shù)名和自變量之間的分隔符是用方括號“ ”,而不是一般數(shù)學書上用的圓括號“( )”,初學者很容易犯這類錯誤。如果輸入了不合語法規(guī)則的表達式,系統(tǒng)會顯示出錯信息,并且不給出計算結果,例如:要畫正弦函數(shù)在區(qū)間-10,10上的圖形,輸入plotSinx,x,-10,10,則系統(tǒng)提示“可能有拼

8、寫錯誤, 新符號plot 很像已經(jīng)存在的符號Plot”, 實際上,系統(tǒng)作圖命令“Plot”第一個字母必須大寫,一般地,系統(tǒng)內建函數(shù)首寫字母都要大寫。再輸入PlotSinx,x,-10,10 ,系統(tǒng)又提示缺少右方括號,并且將不配對的括號用紫色顯示,如圖3。圖3一個表達式只有準確無誤,方能得出正確結果。學會看系統(tǒng)出錯信息能幫助我們較快找出錯誤,提高工作效率。 完成各種計算后,點擊“文件”“退出” 退出,如果文件未存盤,系統(tǒng)提示用戶存盤,文件名以“.nb”作為后綴,稱為Notebook文件。以后想使用本次保存的結果時可以通過“文件”“打開”菜單讀入,也可以直接雙擊它,系統(tǒng)自動調用Mathematic

9、a將它打開。1.2表達式的輸入Mathematica 提供了多種輸入數(shù)學表達式的方法。除了用鍵盤輸入外, 還可以使用工具樣或者快捷方式健入運算符、矩陣或數(shù)學表達式。1. 數(shù)學表達式二維格式的輸入Mathematic擔提供了兩種格式的數(shù)學表達式。形如x/(2+3x)+y*(x-w)的稱為一維格式,形如的稱為二維格式。你可以使用快捷方式輸入二維格式,也可用基本輸入工具欄輸入二維格式。下面列出了用快捷方式輸入二維格式的方法:數(shù)學運算 數(shù)學表達式 按鍵 分式 x Ctrl+/ 2 n 次方 x n x Ctrl+ n 開 2次方 Ctrl +2 x 下標 x2 x Ctrl+_ 2例如輸入數(shù)學表達式,

10、可以按如下順序輸入按鍵:(,x,+,1,),Ctrl+ ,+,4,Ctrl+/,Ctrl+2,2,x,+,y另外也可從“文件”菜單中激活“控制面板”“Basic Input”工具欄,也可輸入,并且使用工具欄可輸入更復雜的數(shù)學表達式,如下圖4。 圖4 圖52.特殊字符的輸入MathemMatica 還提供了用以輸入各種特殊符號的工具欄?;据斎牍ぞ邫诎顺S玫奶厥庾址?上圖),只要單擊這些字符按鈕即可輸入。若要輸入其它的特殊字符或運算符號,必須使用從“文件”菜單中激活“控制面板”“Complete Characters”工具欄,如上圖5,單擊符號后即可輸入。1.3 Mathematica的聯(lián)機

11、幫助系統(tǒng)用Mathematica的過程中,常常需要了解一個命令的詳細用法,或者想知系統(tǒng)中是否有完成某一計算的命令,聯(lián)機幫助系統(tǒng)永遠是最詳細、最方便的資料庫。1.獲取函數(shù)和命令的幫助在Notebook界面下,用 ?或 ? 可向系統(tǒng)查詢運算符、函數(shù)和命令的定義和用法,獲取簡單而直接的幫助信息。 例如,向系統(tǒng)查詢作圖函數(shù)Plot命令的用法 ?Plot 系統(tǒng)將給出調用 Plot 的格式以及 Plot 命令的功能(如果用兩個問號 “?”, 則信息會更詳細一些)。? Plot* 給出所有以Plot這四個字母開頭的命令。2.Help菜單 任何時候都可以通過按shift+F1鍵或點擊“幫助”菜單項“幫助瀏覽”

12、,調出幫助菜單,如圖6所示。圖6其中的各按鈕用途如下:Built-in Function 內建函數(shù),按數(shù)值計算、代數(shù)計算、圖形和編程分類存放 Add-ons & Links 程序包附件和鏈接 The Mathematica Book 一本完整的Mathematica使用手冊 Getting Started/Demos 初學者入門指南/多種演示Tour 漫游MathematicFront End 菜單命令的快捷鍵,二維輸入格式等 Master Index 按字母命令給出命令、函數(shù)和選項的索引表如果要查找Mathematica中具有某個功能的函數(shù),可以通過幫助菜單中的Mahematica使

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

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

15、方是一個31位的整數(shù):ln1:=2100Out1=1267650600228228229401496703205376在Mathematica中允許使用分數(shù),也就是用有理數(shù)表示化簡過的分數(shù)。當兩個整數(shù)相除而又不能整除時,系統(tǒng)就用有理數(shù)來表示,即有理數(shù)是由兩個整數(shù)的比來組成如:In2:=12345/5555Out2=實數(shù)是用浮點數(shù)表示的,Mathematica實數(shù)的有效位可取任意位數(shù),是一種具有任意精確度的近似實數(shù),當然在計算的時候也可以控制實數(shù)的精度。實數(shù)有兩種表示方法:一種是小數(shù),另外一種是用指數(shù)方法表示的。如:In3:=0.239998Out3=0.23998In4:=0.12*1011O

16、ut4=0.12*1011實數(shù)也可以與整數(shù),有理數(shù)進行混合運算,結果還是一個實數(shù)。In5:=2+1/4+0.5Out5=2.75 小數(shù)表示復數(shù)是由實部和虛部組成,實部和虛部可以用整數(shù)、實數(shù)、有理數(shù)表示。在Mathematica中,用I 表示虛數(shù)單位如:In6:=3+0.7IOut6=3+0.7i2.不同類型數(shù)的轉換在Mathematica的不同應用中,通常對數(shù)字的類型要求是不同的。例如在公式推導中的數(shù)字常用整數(shù)或有理數(shù)表示,而在數(shù)值計算中的數(shù)字常用實數(shù)表示。在一般情況下在輸出行Outn中,系統(tǒng)根據(jù)輸入行Inn的數(shù)字類型對計算結果做出相應的處理。如果有一些特殊的要求,就要進行數(shù)據(jù)類型轉換。在Ma

17、thematica中的提供以下幾個函數(shù)達到轉換的目的:Nx 將x轉換成實數(shù)Nx,n 將x轉換成近似實數(shù),精度為nRationalizex 給出x的有理數(shù)近似值Rationalizex,dx 給出x的有理數(shù)近似值,誤差小于dx舉例:In1:=N5/3,20Out1=1.6666666666666666667In2:=N%,10 表示上一輸出結果,即=1.6666666666666666667。Out2=1.666666667 第二個輸出是把上面計算的結果變?yōu)?0位精度的數(shù)字。In3:=Rationalize%Out3=3.數(shù)學常數(shù)Mathematica 中定義了一些常見的數(shù)學常數(shù),這些數(shù)學常數(shù)都

18、是精確數(shù)。Pi 表示3.14159E 自然對數(shù)的底e2.71828Degree 1度,/180弧度I 虛數(shù)單位iInfinity 無窮大infinity 負無窮大 GondenRatio 黃金分割數(shù)0.61803 數(shù)學常數(shù)可用在公式推導和數(shù)值計算中,在數(shù)值計算中表示精確值。如:In1:=Pi2Out1=2In2:=Pi2/NOut2=9.86964.數(shù)的輸出形式在數(shù)的輸出中可以使用轉換函數(shù)進行不同數(shù)據(jù)類型和精度的轉換。另外對一些特殊要求的格式還可以使用如下的格式函數(shù):NumberFormexpr,n 以n位精度的實數(shù)形式輸出實數(shù)exprScientificFormatexpr 以科學記數(shù)法輸出

19、實數(shù)exprEngineergFormexpr 以工程記數(shù)法輸出實數(shù)expr例如:In1:=NPi30,30Out1=8.21289330402749581586503585434×1014In2:=NumberForm%,10Out2/NumberForm=8.212893304×1014下面的函數(shù)輸出按工程記數(shù)法表示的指數(shù)可被3整除的實數(shù)In3=EngineeringForm% %表示上兩步的輸出結果,即Out1Out3/EngineeringForm=821.289330402749581586503585434×10122.2變量1變量的命名 Mathem

20、atica中內部函數(shù)和命令都是以大寫字母開始的標示符,為了不會與它們混淆,我們自定義的變量應該是以小寫字母開始,后跟數(shù)字和字母的組合,長度不限。例如:a12,ast,aST都是合法的,而12a,z*a,a b(中間有空格)是非法的。另外在Mathematica中的變量是區(qū)分大小寫的。在Mathematica中,變量不僅可以存放一個數(shù)值,還可以存放表達式或復雜的算式。 2給變量賦值在Mathmatica中用等號為變量賦值。同一個變量可以表示一個數(shù)值,一個數(shù)組,一個表達式,甚至一個圖形。如: In1:=x=3Out1=3In2:=x2+2*xOut2=15In3:=x=%+1Out3=16對不同的

21、變量可同時賦不同的值,例如: In4:=u,v,w=1,2,3 Out4=1,2,3In5:=2u+3v+wOut5=11對于已定義的變量,當你不再使用它是,為防止變量值的混淆,可以隨時用.清除它的值,如果變量本身也要清除用函數(shù)Clearvar,例如:In6:=u=. In7:=2u+v (上面已定義了u,v的值)Out7=2+2u3.變量的替換在給定一個表達式時其中的變量可能取不同的值,這是可用變量替換來計算表達式的不同值。方法為用expr/.x->xval,例如: In1:=f=x/2+1Out1= 1+In2:=f/.x->1Out2= In3:=f/.x->2Out3

22、=3如果表達式中有多個變量,也可同時替換,方法為:expr/.x->xval,y->yval,.In4:=(x+y)(x-y)2/.x->3,y->1-aOut4=(4-a)(2+a)22.3 函數(shù) 1系統(tǒng)函數(shù)在Mathmatic中定義了大量的數(shù)學函數(shù)可以直接調用,這些函數(shù)其名稱一般表達了一定的意義,可以幫助我們理解。下面是幾個常用的函數(shù):Floorx 不比x大的最大整數(shù)Ceilingx 不比x小的最小整數(shù)Signx 符號函數(shù)Roundx 接近x的整數(shù)Absx x絕對值Maxx1,x2,x3. x1 ,x2,x3.中的最大值 Minx1,x2,x3. x1,x2,x3.

23、中的最小值 Random 01之間的隨機函數(shù) RandomR,xmax 0xmax之間的隨機函數(shù)(R為Real,Integer,Complex之一)RandomR,xmin,xmax xminxmax之間的隨機函數(shù)(R為Real,Integer,Complex之一)Expx 指數(shù)函數(shù)e x Logx 自然對數(shù)函數(shù)lnx Logb,x 以b為底的對數(shù)函數(shù) Sinx,Cosx,Tanx,Cscx,Secx,Cotx 三角函數(shù)(變量是以弧度為單位的)ArcSinx,ArcCosx,ArcTanx,ArcCscx,ArcSecx,ArcCotx 反三角函數(shù)Sinhx,Coshx,Tanhxx,Csch

24、x,Sechx,Cothx 雙曲函數(shù) ArcSinhx, ArcCoshx, ArcTanhxx, ArcCschx,ArcSechx,ArcCothx 反雙曲函數(shù)Modm,n m被n整除的余數(shù),余數(shù)與n同號Quotientm,n m/n的整數(shù)部分GCDn1,n2,n3或GCDs n1,n2, 或s的最大公約數(shù),s為數(shù)據(jù)集合LCMn1,n2或LCMs n1,n2 或s的最小公倍數(shù),s為數(shù)據(jù)集合N! N的階程N! N的雙階程Mathematica中的函數(shù)與數(shù)學上的函數(shù)有些不同的地方,Mathematica中函數(shù)是一個具有獨立功能的程序模塊,可以直接被調用。同時每一函數(shù)也可以包括一個或多個參數(shù),也

25、可以沒有參數(shù)。參數(shù)的的數(shù)據(jù)類型也比較復雜。更加詳細的可以參看系統(tǒng)的幫助,了解各個函數(shù)的功能和使用方法是學習Mathematica軟件的基礎。2函數(shù)的定義(1) 函數(shù)的立即定義 立即定義函數(shù)的語法如下fx_=expr函數(shù)名為f,自變量為x,expr是表達式。在執(zhí)行時會把expr 中的x都換為f的自變量x (不是x_ )。函數(shù)的自變量具有局部性,只對所在的函數(shù)起作用。函數(shù)執(zhí)行結束后也就沒有了,不會改變其它全局定義的同名變量的值。請看下面的例子,定義函數(shù)f(x)=xsinx+x2,對定義的函數(shù)我們可以求函數(shù)值,也可繪制它的圖形。In1:=fx_=x*Sinx+x2Out1=x 2 +xSinxIn2

26、:=f1Out2=1+Sin1In3:=Plotfx,x,-3,3Out3= -Graphics-對于定義的函數(shù)我們可以使用命令Clearf清除掉,而Removef則從系統(tǒng)中刪除該函數(shù)。(2) 多變量函數(shù)的定義也可以定義多個變量的函數(shù),格式為fx_,y_,z_,=expr自變量為x,y,z,相應的expr中的自變量會被替換。例如定義函數(shù)f(x,y)=xy+ycosx。In1:=fx_,y_ =x*y+y*CosxOut1=xy+yCosxIn2:=f2,3Out2=6+3Cos2(3) 延遲定義函數(shù)延遲定義函數(shù)從定義方法上與即時定義的區(qū)別為 “=” 與“:=”延遲定義的格式為fx_:=expr

27、其他操作基本相同。那么延遲定義和即時定義的主要區(qū)別是什么?即時定義函數(shù)在輸入函數(shù)后立即定義函數(shù)并存放在內存中并可直接調用。延時定義只是在調用函數(shù)時才真正定義函數(shù)。(4) 使用條件運算符定義和If命令定義函數(shù)如果要定義如:這樣的分段函數(shù)應該如何定義,顯然要根據(jù)x 的不同值給出不同的表達式。一種辦法是使用條件運算符,基本格式為:fx_:=expr/;condition ,當condition條件滿足時才把expr賦給f(x) 。下面定義方法,通過圖形可以驗證所定義函數(shù)的正確性。In1:=fx_:=x-1/;x>=0 fx_:=x2/;(x>-1)&&(x<0) f

28、x_:=x-1/;x<= -1In4:=Plotfx,x,-2,2Out4= -Graphics-當然使用If命令也可以定義上面的函數(shù),If語句的格式為If條件,值1,值2,如果條件成立取“值1”,否則取“值2”,用If語句的定義結果如下:In5:=gx_:=Ifx>=0,x-1,Ifx<= -1,Sinx,x2In6:=Plotgx,x,-2,2Out6= -Graphics-可以看出用If定義的函數(shù)g(x)和前面函數(shù)f(x)相同,這里使用了兩個If嵌套,邏輯性比較強。關于其他的條件命令的進一步討論請看后面的章節(jié)。2.4 表將一些相互關聯(lián)的元素放在一起,使它們成為一個整體。

29、既可以對整體操作,也可以對整體中的一個元素單獨進行操作。在Mathematica中這樣的數(shù)據(jù)結構就稱作表(List)。表a,b,c表示一個向量;表a,b,c,d表示一個矩陣。1建表在表中元素較少時,可以采取直接列表的方式列出表中的元素,如1,2,3,請看下面的操作:In1:=1,2,3Out1=1,2,3下面是符號表達式的列表:In2:=1+%x+x% Out2=1+2x,1+2x+x2,1+3x+x3下面是把Out2列表中的表達式對x求導:In3:=D%,x Out3=2,2+2x,3+3x2In4:=%/.x->1Out4=2,4,6如果表中的元素較多時,可以用建表函數(shù)進行建表:Ta

30、blef,i,min,max,step 以step為步長給出f的數(shù)值表,i由min變到maxTablef,min,max 給出f的數(shù)值表,i由min變到max 步長為1Tablef,max 給出max個f的表Tablef,i,imin,imax,j,jmin,jmax,. 生成一個多維表TableFormlist 或list/TableForm 以表格格式顯示一個表Rangen 生成一個1,2,n的列表Rangen1,n2,d 生成n1,n1+d,n1+d,.,n2的列表下面給出x乘i的值的表,i的變化范圍為2,6:In1:=Tablex*i,i,2,6 Out1=2x,3x,4x,5x,6x

31、In2:=Tablex2,4Out2=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,5Out5=5,6,7,7,8,9,9,10,11使用函數(shù)TableForm可以以表格的方式輸出In6:=%/TableFormOut6/TableForm=5 6 77 8 99 1

32、0 112表的元素的操作當t表示一個表時,ti表示t中的第i個子表。如果t=1,2,a,b那么t3表示“a”。In1:=t=TableI+2,jI,1,3,j,3,5Out1=7,9,11,8,10,12,9,11,13In2:=t2Out2=8,10,12對于表的操作Mathematica提供了豐富的函數(shù),詳細的可以查閱后面的附錄或者系統(tǒng)幫助。25 表達式1.表達式的含義Mathematica 能處理數(shù)學公式,表以及圖形等多種數(shù)據(jù)形式。盡管他們從形式上看起來不一樣,但在Mathematica內部都被看成同種類型,即都把他們當作表達式的形式。Mathematica 中的表達式是由常量、變量、函

33、數(shù)、命令、運算符和括號等組成,它最典型的形式是fx,y。2表達式的表示形式在顯示表達式時,由于需要的不同,有時我們需要表達式的展開形式,有時又需要其因子乘積的形式。在我們計算過程中可能得到很復雜的表達式,這時我們又需要對它們進行化簡。常用的處理這種情況的函數(shù)就是變換表達式表示形式函數(shù)。Expandexpr 按冪次升高的順序展開表達式Factorexpr 以因子乘積的形式表示表達式Simplifyexpr 進行最佳的代數(shù)運算,并給出表達式的最少項形式表達式(x+y) 4 (x+y 2 ) 展開:In1:=Expand(x+y)4*(x+y2)Out1=x 5 +4x 4 y+6x 3 y 2 +

34、x 4 y 2 +4x 2 y 3 +4x 3 y 3 +xy 4 +6x 2 y 4 +4xy5 +y 6還原上面的表達式為因子乘積的形式:In2:=Factor%Out2=(x+y) 4 (x+y 2 )多項式表達式的項數(shù)較多,比較復雜,在顯示時顯得比較雜亂,而且在計算過程中沒有必要知道全部的內容;或表達式的項很有規(guī)律,沒有必要打印全部的表達式的結果,Mathematica提供了一些命令,可將它縮短輸出或不輸出。expr/Short 或 Shortexpr 顯示表達式的一行形式Shortexpr,n 顯示表達式的n行形式,命令后加一分號“;” 不輸出結果將表達式(1+x) 30展開,并僅顯

35、示一行有代表項的式子:In3:=Expand(1+ x)30/ShortOut3=1+30x+435x 2 +4060x 3 +<<23>>+4060x 2 7 +435x 2 8 +30x 2 9 +x 3 0將上式分成三行的形式展開:In4:=ShortExpand(1+ x)30,3Out4=1+30x+435x 2 +4060x 3 +27405x 4 +142506x 5 +<<19>>+142506x 2 5 +27405x 2 6 +4060x 2 7 +435x 2 8 +30x 2 9 +x 3 0把代數(shù)表達式變換到你所需要的形

36、式?jīng)]有一種固定的模式,一般情況下,最好的辦法是進行多次實驗,嘗試不同的變換并觀察其結果,再挑出你滿意的表示形式。3關系表達式與邏輯表達式我們已經(jīng)知道“”表示給變量賦值。現(xiàn)在我們來學習一些其它的邏輯與關系算子。關系表達式是最簡單的邏輯表達式,我們常用關系表達式表示一個判別條件。例如:x>0,y=0。關系表達式的一般形式是:表達式關系算子表達式。其中表達式可為數(shù)字表達式、字符表達式或意義更廣泛的表達式,如一個圖形表達式等。在我們實際運用中,這里的表達式常常是數(shù)字表達式或字符表達式。下面出Mathematica中的各種關系算子:x=y 相等x!=y 不相等x>y 大于x>=y 大于

37、等于x<y 小于x<=y 小于等于x=y=z 都相等x!=y!=z 都不相等x>y>z 嚴格遞減x<y<z 嚴格遞增給變量x,y賦值,輸出后一變量的值,如:In1:=x=2;y=9 Out1=9In2:=x>yOut2=False下面是比較兩個表達式的大?。篒n3:=32>y+1 上面已設y=9Out3= False用一個關系式只能表示一個判定條件,要表示幾個判定條件胡組合,必須用邏輯運算符將關系表達式組織在一起,我們稱表示判定條件的表達式為邏輯表達式。下面是常用的邏輯運算和它們的意義:! 非 && 并 | 或 Xor 異或 If

38、 條件 LogicalExpandexpr 展開邏輯表達式例如下面的例子說明它們的應用:In4:=3*x2<y+1&&32=y (前面已給x,y賦值,x=2,y=9)Out4=FalseIn5:=3*x2<y+1|32=yOut5=True2.6 常用的符號(term) 圓括號用于組合運算fx 方括號用于函數(shù) 花括號用于列表i 雙括號用于排序% 代表最后產(chǎn)生的結果% 倒數(shù)第二次的算結果%(k) 倒數(shù)第k次的計算結果%n 例出行Outn的結果(用時要小心)第3章Mathematica的基本運算3.1 多項式的表示形式可認為多項式是表達式的一種特殊的形式,所以多項式的運

39、算與表達式的運算基本一樣,表達式中的各種輸出形式也可用于多項式的輸出。Mathematica提供一組按不同形式表示代數(shù)式的函數(shù)。 Expandploy 按冪次展開多項式ployExpandAllploy 全部展開多項式ployFactorploy 對多項式poly 進行因式分解FactorTermsploy,x,y, 按變量 x,y,進行分解Simplifypoly 把多項式化為最簡形式FullSimplifyploy 把多項式化簡Collectpoly,x 把多項式poly按x冪展開Collectpoly,x,y 把多項式poly按x,y.的冪次展開1.下面是一些例子(1) 對x 8 -1

40、進行分解In1:=Factorx8-1Out1=(-1+x)(1+x)(1+x 2)(1+x4)(2) 展開多項式 (1+x) 5In2:= Expand(1+x)5Out2=1+5x+10x 2+10x 3+5x 4+x5(3) 展開多項式 (1+x+3y) 4In3:= Expand(1+x+3y)4Out3=1+4x+6x 2+4x 3+x 4+12y+36xy+36x 2y+12x 3y+54y 2+108xy 2+54x 2y 2+108y 3+108xy 3+81y 4(4) 展開并化簡(2+x) 4 (1+x) 4 (3+x) 3In4:= SimplifyExpand(2+x)

41、4(1+x)4(3+x)3Out4=(3+x) 3 (2+3x+x 2 ) 42.多項式的代數(shù)運算多項式的運算有加、減、乘、除運算:+,-,*,/ 下面通過例子說明。(1) 多項式的加運算a 2 +3a+2與a+1相加(后面例子中也使用這兩個多項式運算)In5:=(a2+3*a+2)+(a+1) 括號可以不要Out5= 3+4a+ a 2或者In5:=p1= a2+3*a+2;p2= a+1;p1+p2Out5= 3+4a+ a 2(2) 多項式相減In6:=(a2+3*a+2)-(a+1)Out6= 1+2a+ a 2或者In6:=p1-p2Out6= 1+2a+ a 2(3) 多項式相乘I

42、n7:=(a2+3*a+2)*(a+1)Out7= (1+ a) (2+3a+ a2)或者In7:=p1*p2Out7= (1+ a) (2+3a+ a2)In8:=Expandp1*p2Out8=2+5a+4a 2+a 3(4) 多項式相除In9:=(a2+3*a+2)/(a+1)Out9=或者In9:=p1/p2Out9=(5) 另外使用Cancel函數(shù)可以約去公因式In10:=Cancelp1/p2Out10=2+a兩個多項式相除,總能寫成一個多項式和一個有理式相加Mathematic中提供兩個函數(shù)PolynomialQuotient和PolynomialRemainder分別返商式和余

43、式。例如:In11:=PolynomialQuotientx2, 1+2x,xOut11= 商的整式部分In12:= PolynomialRemainderx2, 1+2x,xOut12= 商的余式部分3.2方程及其根的表示 因為Mathematica把方程看作邏輯語句。在數(shù)學方程式表示為形如“x 2 -2x -3=0”的形式。在Mathematica中“=”用作賦值語句,這樣在Mathematica中用“=”(兩個等號中間沒有空格)表示邏輯等號,則方程應表示為“x2 -2x -3=0” 。方程的解同原方程一樣被看作是邏輯語句。例如用Rootslhs=rhs,vars求方程x 2-3x+2=0

44、的根顯示為:In1:=Rootsx2-3x+3=0,xOut1=x=1|x=2 這種表示形式說明x取1或2均可而用Solvelhs=rhs,vars可得解集形式:In2:=Solvex2-3x+3=0,xOut2=x1,x21 求解一元代數(shù)方程下面是常用的一些方程求解函數(shù):Solvelhs=rhs,vars 給出方程的解集NSolvelhs=rhs,vars 直接給出方程的數(shù)值解集Rootslhs=rhs,vars 求表達式的根FindRootlhs=rhs,x,x 0 求x在x 0附近的方程的數(shù)值解先看Solve函數(shù)例子:In3:=Solvex2-2x-3=0,xOut3= x-1,x3So

45、lve函數(shù)可處理的主要方程是多項式方程。Mathematica總能對不高于四次的方程進行精確求解,對于三次或四次方程,解的形式可能很復雜。例如求x 3 +5x+3=0In4:=Solvex3+5x+3=0,x這時可用N函數(shù)近似數(shù)值解:In5:=N%Out5= x-0.5641,x0.28205-2.28881i,x0.28205+2.28881i當方程中有一些復雜的函數(shù)時,Mathematica可能無法直接給出解來。在這種情況下我們可用FindRoot來求解,但要給出起始條件。例如求3Cosx=lnx的解:In6:=FindRoot3*Cosx=Logx,x,1Out6= x1.44726但只

46、能求出x=1附近的解,如果方程有幾個不同的解,當給定不同的條件時,將給出不同的解。如上例若求x=10附近的解命令為:In7:=FindRoot3*Cosx=Logx,x,10Out7= x13.1064因此確定解的起始位置是比較關鍵,一種常用的方法是,先繪制圖形觀察后再解。In8:=Plot3*Cosx,Logx,x,1,15Out8= - Graphics -如上例通過圖形可斷定在x=5附近有另一根:In9:=FindRoot3*Cosx=Logx,x,5Out9= x5.301992.求方程組的根 使用Solve,NSolve和FindRoot也可求方程組的解,只是使用時格式略有不同,下面給出一個Solve函數(shù)的例子:求解In10:=Slove2*x+3*y=9,x-2*y=1,x,yOut10= x3, y13求方程的全解如果我們求ax 2 +bx+c=0的根,我們用Solve函數(shù)解的結果是:In11:=Solvea*x2+b*x+c=0,xOut11= x, x這顯然是不合理的,因為對不同的a,b,c方程的解有不同的情況,而上面只是給出部分解如果要解決這個問題可用Reduce命令,它可根據(jù)a,b,c的取值給出全部值。In12:=Reducea*x2+b*x+c=0,xOut12= a0 &

溫馨提示

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

評論

0/150

提交評論