




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
/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章Mathematica的基本運算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定積分與不定積分:如何求函數(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條件結(jié)構(gòu):條件結(jié)構(gòu)的使用和定義方法7.3循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)的使用7.4流程控制第8章Mathematica中的常用函數(shù)8.1運算符和一些特殊符號:常用的和不常用一些運算符號8.2系統(tǒng)常數(shù):系統(tǒng)定義的一些常量與其意義8.3代數(shù)運算:表達式相關(guān)的一些運算函數(shù)8.4解方程:和方程求解有關(guān)的一些操作8.5微積分相關(guān)函數(shù):關(guān)于求導,積分,泰勒展開等相關(guān)的函數(shù)8.6多項式函數(shù):多項式的相關(guān)函數(shù)8.7隨機函數(shù):能產(chǎn)生隨機數(shù)的函數(shù)函數(shù)8.8數(shù)值函數(shù):和數(shù)值處理相關(guān)的函數(shù),包括一些常用的數(shù)值算法8.9表相關(guān)函數(shù):創(chuàng)建表,表元素的操作,表的操作函數(shù)8.10繪圖函數(shù):二維繪圖,三維繪圖,繪圖設置,密度圖,圖元,著色,圖形顯示等函數(shù)8.11流程控制函數(shù)
第1章Mathematica概述1.1Mathematica的啟動和運行Mathematica是美國Wolfram研究公司生產(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)開始計算并輸出計算結(jié)果,并給輸入和輸出附上次序標識In[1]和Out[1],注意In[1]是計算后才出現(xiàn)的;再輸入第二個表達式,要求系統(tǒng)將一個二項式x5+y5展開,按Shift+Enter輸出計算結(jié)果后,系統(tǒng)分別將其標識為In[2]和Out[2],如圖2。圖2在Mathematica的Notebook界面下,可以用這種交互方式完成各種運算,如函數(shù)作圖,求極限、解方程等,也可以用它編寫像C那樣的結(jié)構(gòu)化程序。在Mathematica系統(tǒng)中定義了許多功能強大的函數(shù),我們稱之為內(nèi)建函數(shù)(built-infunction),直接調(diào)用這些函數(shù)可以取到事半功倍的效果。這些函數(shù)分為兩類,一類是數(shù)學意義上的函數(shù),如:絕對值函數(shù)Abs[x],正弦函數(shù)Sin[x],余弦函數(shù)Cos[x],以e為底的對數(shù)函數(shù)Log[x],以a為底的對數(shù)函數(shù)Log[a,x]等;第二類是命令意義上的函數(shù),如作函數(shù)圖形的函數(shù)Plot[f[x],{x,xmin,xmax}],解方程函數(shù)Solve[eqn,x],求導函數(shù)D[f[x],x]等。必須注意的是:Mathematica嚴格區(qū)分大小寫,一般地,內(nèi)建函數(shù)的首寫字母必須大寫,有時一個函數(shù)名是由幾個單詞構(gòu)成,則每個單詞的首寫字母也必須大寫,如:求局部極小值函數(shù)FindMinimum[f[x],{x,x0}等。第二點要注意的是,在Mathematica中,函數(shù)名和自變量之間的分隔符是用方括號“[]”,而不是一般數(shù)學書上用的圓括號“()”,初學者很容易犯這類錯誤。如果輸入了不合語法規(guī)則的表達式,系統(tǒng)會顯示出錯信息,并且不給出計算結(jié)果,例如:要畫正弦函數(shù)在區(qū)間[-10,10]上的圖形,輸入plot[Sin[x],{x,-10,10}],則系統(tǒng)提示“可能有拼寫錯誤,新符號‘plot’很像已經(jīng)存在的符號‘Plot’”,實際上,系統(tǒng)作圖命令“Plot”第一個字母必須大寫,一般地,系統(tǒng)內(nèi)建函數(shù)首寫字母都要大寫。再輸入Plot[Sin[x],{x,-10,10},系統(tǒng)又提示缺少右方括號,并且將不配對的括號用紫色顯示,如圖3。圖3一個表達式只有準確無誤,方能得出正確結(jié)果。學會看系統(tǒng)出錯信息能幫助我們較快找出錯誤,提高工作效率。完成各種計算后,點擊“文件”“退出”退出,如果文件未存盤,系統(tǒng)提示用戶存盤,文件名以“.nb”作為后綴,稱為Notebook文件。以后想使用本次保存的結(jié)果時可以通過“文件”“打開”菜單讀入,也可以直接雙擊它,系統(tǒng)自動調(diào)用Mathematica將它打開。1.2表達式的輸入Mathematica提供了多種輸入數(shù)學表達式的方法。除了用鍵盤輸入外,還可以使用工具樣或者快捷方式健入運算符、矩陣或數(shù)學表達式。1.數(shù)學表達式二維格式的輸入Mathematic擔提供了兩種格式的數(shù)學表達式。形如x/(2+3x)+y*(x-w)的稱為一維格式,形如的稱為二維格式。你可以使用快捷方式輸入二維格式,也可用基本輸入工具欄輸入二維格式。下面列出了用快捷方式輸入二維格式的方法:數(shù)學運算數(shù)學表達式按鍵分式xCtrl+/2n次方xnxCtrl+^n開2次方Ctrl+2x下標x2xCtrl+_2例如輸入數(shù)學表達式,可以按如下順序輸入按鍵:(,x,+,1,),Ctrl+^,+,4,→,Ctrl+/,Ctrl+2,2,x,+,y另外也可從“文件”菜單中激活“控制面板”“BasicInput”工具欄,也可輸入,并且使用工具欄可輸入更復雜的數(shù)學表達式,如下圖4。圖4圖52.特殊字符的輸入MathemMatica還提供了用以輸入各種特殊符號的工具欄?;据斎牍ぞ邫诎顺S玫奶厥庾址?上圖),只要單擊這些字符按鈕即可輸入。若要輸入其它的特殊字符或運算符號,必須使用從“文件”菜單中激活“控制面板”“CompleteCharacters”工具欄,如上圖5,單擊符號后即可輸入。1.3Mathematica的聯(lián)機幫助系統(tǒng)用Mathematica的過程中,常常需要了解一個命令的詳細用法,或者想知系統(tǒng)中是否有完成某一計算的命令,聯(lián)機幫助系統(tǒng)永遠是最詳細、最方便的資料庫。1.獲取函數(shù)和命令的幫助在Notebook界面下,用?或??可向系統(tǒng)查詢運算符、函數(shù)和命令的定義和用法,獲取簡單而直接的幫助信息。例如,向系統(tǒng)查詢作圖函數(shù)Plot命令的用法?Plot系統(tǒng)將給出調(diào)用Plot的格式以與Plot命令的功能(如果用兩個問號“??”,則信息會更詳細一些)。?Plot*給出所有以Plot這四個字母開頭的命令。2.Help菜單任何時候都可以通過按shift+F1鍵或點擊“幫助”菜單項“幫助瀏覽”,調(diào)出幫助菜單,如圖6所示。圖6其中的各按鈕用途如下:Built-inFunction內(nèi)建函數(shù),按數(shù)值計算、代數(shù)計算、圖形和編程分類存放Add-ons&Links程序包附件和鏈接TheMathematicaBook一本完整的Mathematica使用手冊GettingStarted/Demos初學者入門指南/多種演示Tour漫游MathematicFrontEnd菜單命令的快捷鍵,二維輸入格式等MasterIndex按字母命令給出命令、函數(shù)和選項的索引表如果要查找Mathematica中具有某個功能的函數(shù),可以通過幫助菜單中的Mahematica使用手冊,通過其目錄索引可以快速定位到自己要找的幫助信息。例如:需要查找Mathematica中有關(guān)解方程的命令,單擊“TheMathematicaBook”按鈕,再單擊“Contents”,在目錄中找到有關(guān)解方程的節(jié)次,點擊相應的超鏈接,有關(guān)內(nèi)容的詳細說明就馬上調(diào)出來了。如果知道具體的函數(shù)名,但不知其詳細使用說明,可以在命令按鈕Goto右邊的文本框中鍵入函數(shù)名,按回車鍵后就顯示有關(guān)函數(shù)的定義、例題和相關(guān)聯(lián)的章節(jié)。例如,要查找函數(shù)Plot的用法,只要在文本框中鍵入Plot,按回車鍵后顯示Plot函數(shù)的詳細用法和例題的窗口,如圖7。圖7如果已經(jīng)確知Mathematica中有具有某個功能的函數(shù),但不知具體函數(shù)名,可以點擊Built-inFunctions按鈕,再按功能分類從粗到細一步一步找到具體的函數(shù),例如,要找畫一元函數(shù)圖形的函數(shù),點擊Built-inFunctions→GraphicsandSound→2DPlots→Plot,找到Plot的幫助信息(如圖7)。
第2章Mathematica的基本量2.1數(shù)據(jù)類型和常數(shù)1.數(shù)值類型在Mathematic中,基本的數(shù)值類型有四種:整數(shù)、有理數(shù)、實數(shù)和復數(shù)。如果你的計算機的內(nèi)存足夠大,Mathemateic可以表示任意長度的精確實數(shù),而不受所用的計算機字長的影響。整數(shù)與整數(shù)的計算結(jié)果仍是精確的整數(shù)或是有理數(shù)。例如2的100次方是一個31位的整數(shù):ln[1]:=2^100Out[1]=126765294376在Mathematica中允許使用分數(shù),也就是用有理數(shù)表示化簡過的分數(shù)。當兩個整數(shù)相除而又不能整除時,系統(tǒng)就用有理數(shù)來表示,即有理數(shù)是由兩個整數(shù)的比來組成如:In[2]:=12345/5555Out[2]=實數(shù)是用浮點數(shù)表示的,Mathematica實數(shù)的有效位可取任意位數(shù),是一種具有任意精確度的近似實數(shù),當然在計算的時候也可以控制實數(shù)的精度。實數(shù)有兩種表示方法:一種是小數(shù),另外一種是用指數(shù)方法表示的。如:In[3]:=0.239998Out[3]=0.23998In[4]:=0.12*10^11Out[4]=0.12*10^11實數(shù)也可以與整數(shù),有理數(shù)進行混合運算,結(jié)果還是一個實數(shù)。In[5]:=2+1/4+0.5Out[5]=2.75小數(shù)表示復數(shù)是由實部和虛部組成,實部和虛部可以用整數(shù)、實數(shù)、有理數(shù)表示。在Mathematica中,用I表示虛數(shù)單位如:In[6]:=3+0.7IOut[6]=3+0.7i2.不同類型數(shù)的轉(zhuǎn)換在Mathematica的不同應用中,通常對數(shù)字的類型要求是不同的。例如在公式推導中的數(shù)字常用整數(shù)或有理數(shù)表示,而在數(shù)值計算中的數(shù)字常用實數(shù)表示。在一般情況下在輸出行Out[n]中,系統(tǒng)根據(jù)輸入行In[n]的數(shù)字類型對計算結(jié)果做出相應的處理。如果有一些特殊的要求,就要進行數(shù)據(jù)類型轉(zhuǎn)換。在Mathematica中的提供以下幾個函數(shù)達到轉(zhuǎn)換的目的:N[x]將x轉(zhuǎn)換成實數(shù)N[x,n]將x轉(zhuǎn)換成近似實數(shù),精度為nRationalize[x]給出x的有理數(shù)近似值Rationalize[x,dx]給出x的有理數(shù)近似值,誤差小于dx舉例:In[1]:=N[5/3,20]Out[1]=1.6666666666666666667In[2]:=N[%,10]%表示上一輸出結(jié)果,即%=1.6666666666666666667。Out[2]=1.666666667第二個輸出是把上面計算的結(jié)果變?yōu)?0位精度的數(shù)字。In[3]:=Rationalize[%]Out[3]=3.數(shù)學常數(shù)Mathematica中定義了一些常見的數(shù)學常數(shù),這些數(shù)學常數(shù)都是精確數(shù)。Pi表示π=3.14159……E自然對數(shù)的底e=2.71828……Degree1度,π/180弧度I虛數(shù)單位iInfinity無窮大∞-infinity負無窮大-∞GondenRatio黃金分割數(shù)0.61803數(shù)學常數(shù)可用在公式推導和數(shù)值計算中,在數(shù)值計算中表示精確值。如:In[1]:=Pi^2Out[1]=π2In[2]:=Pi^2//NOut[2]=9.86964.數(shù)的輸出形式在數(shù)的輸出中可以使用轉(zhuǎn)換函數(shù)進行不同數(shù)據(jù)類型和精度的轉(zhuǎn)換。另外對一些特殊要求的格式還可以使用如下的格式函數(shù):NumberForm[expr,n]以n位精度的實數(shù)形式輸出實數(shù)exprScientificFormat[expr]以科學記數(shù)法輸出實數(shù)exprEngineergForm[expr]以工程記數(shù)法輸出實數(shù)expr例如:In[1]:=N[Pi^30,30]Out[1]=8.2128933×1014In[2]:=NumberForm[%,10]Out[2]//NumberForm=8.212893304×1014下面的函數(shù)輸出按工程記數(shù)法表示的指數(shù)可被3整除的實數(shù)In[3]=EngineeringForm[%%]%%表示上兩步的輸出結(jié)果,即Out[1]Out[3]//EngineeringForm=821.28933×10122.2變量1.變量的命名Mathematica中內(nèi)部函數(shù)和命令都是以大寫字母開始的標示符,為了不會與它們混淆,我們自定義的變量應該是以小寫字母開始,后跟數(shù)字和字母的組合,長度不限。例如:a12,ast,aST都是合法的,而12a,z*a,ab(中間有空格)是非法的。另外在Mathematica中的變量是區(qū)分大小寫的。在Mathematica中,變量不僅可以存放一個數(shù)值,還可以存放表達式或復雜的算式。2.給變量賦值在Mathmatica中用等號=為變量賦值。同一個變量可以表示一個數(shù)值,一個數(shù)組,一個表達式,甚至一個圖形。如:In[1]:=x=3Out[1]=3In[2]:=x^2+2*xOut[2]=15In[3]:=x=%+1Out[3]=16對不同的變量可同時賦不同的值,例如:In[4]:={u,v,w}={1,2,3}Out[4]={1,2,3}In[5]:=2u+3v+wOut[5]=11對于已定義的變量,當你不再使用它是,為防止變量值的混淆,可以隨時用=.清除它的值,如果變量本身也要清除用函數(shù)Clear[var],例如:In[6]:=u=.In[7]:=2u+v(上面已定義了u,v的值)Out[7]=2+2u3.變量的替換在給定一個表達式時其中的變量可能取不同的值,這是可用變量替換來計算表達式的不同值。方法為用expr/.x->xval,例如:In[1]:=f=x/2+1Out[1]=1+In[2]:=f/.x->1Out[2]=In[3]:=f/.x->2Out[3]=3如果表達式中有多個變量,也可同時替換,方法為:expr/.{x->xval,y->yval,...}In[4]:=(x+y)(x-y)^2/.{x->3,y->1-a}Out[4]=(4-a)(2+a)22.3函數(shù)1.系統(tǒng)函數(shù)在Mathmatic中定義了大量的數(shù)學函數(shù)可以直接調(diào)用,這些函數(shù)其名稱一般表達了一定的意義,可以幫助我們理解。下面是幾個常用的函數(shù):Floor[x]不比x大的最大整數(shù)Ceiling[x]不比x小的最小整數(shù)Sign[x]符號函數(shù)Round[x]接近x的整數(shù)Abs[x]x絕對值Max[x1,x2,x3……..]x1,x2,x3…….中的最大值Min[x1,x2,x3……..]x1,x2,x3…….中的最小值Random[]0~1之間的隨機函數(shù)Random[R,xmax]0~xmax之間的隨機函數(shù)(R為Real,Integer,Complex之一)Random[R,{xmin,xmax}]xmin~xmax之間的隨機函數(shù)(R為Real,Integer,Complex之一)Exp[x]指數(shù)函數(shù)exLog[x]自然對數(shù)函數(shù)lnxLog[b,x]以b為底的對數(shù)函數(shù)Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x]三角函數(shù)(變量是以弧度為單位的)ArcSin[x],ArcCos[x],ArcTan[x],ArcCsc[x],ArcSec[x],ArcCot[x]反三角函數(shù)Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x],Coth[x]雙曲函數(shù)ArcSinh[x],ArcCosh[x],ArcTanhx[x],ArcCsch[x],ArcSech[x],ArcCoth[x]反雙曲函數(shù)Mod[m,n]m被n整除的余數(shù),余數(shù)與n同號Quotient[m,n]m/n的整數(shù)部分GCD[n1,n2,n3……]或GCD[s]n1,n2,…或s的最大公約數(shù),s為數(shù)據(jù)集合LCM[n1,n2……]或LCM[s]n1,n2…或s的最小公倍數(shù),s為數(shù)據(jù)集合N!N的階程N!!N的雙階程Mathematica中的函數(shù)與數(shù)學上的函數(shù)有些不同的地方,Mathematica中函數(shù)是一個具有獨立功能的程序模塊,可以直接被調(diào)用。同時每一函數(shù)也可以包括一個或多個參數(shù),也可以沒有參數(shù)。參數(shù)的的數(shù)據(jù)類型也比較復雜。更加詳細的可以參看系統(tǒng)的幫助,了解各個函數(shù)的功能和使用方法是學習Mathematica軟件的基礎(chǔ)。2.函數(shù)的定義(1)函數(shù)的立即定義立即定義函數(shù)的語法如下f[x_]=expr函數(shù)名為f,自變量為x,expr是表達式。在執(zhí)行時會把expr中的x都換為f的自變量x(不是x_)。函數(shù)的自變量具有局部性,只對所在的函數(shù)起作用。函數(shù)執(zhí)行結(jié)束后也就沒有了,不會改變其它全局定義的同名變量的值。請看下面的例子,定義函數(shù)f(x)=xsinx+x2,對定義的函數(shù)我們可以求函數(shù)值,也可繪制它的圖形。In[1]:=f[x_]=x*Sin[x]+x^2Out[1]=x2+xSin[x]In[2]:=f[1]Out[2]=1+Sin[1]In[3]:=Plot[f[x],{x,-3,3}]Out[3]=-Graphics-對于定義的函數(shù)我們可以使用命令Clear[f]清除掉,而Remove[f]則從系統(tǒng)中刪除該函數(shù)。(2)多變量函數(shù)的定義也可以定義多個變量的函數(shù),格式為f[x_,y_,z_,…]=expr自變量為x,y,z…,相應的expr中的自變量會被替換。例如定義函數(shù)f(x,y)=xy+ycosx。In[1]:=f[x_,y_]=x*y+y*Cos[x]Out[1]=xy+yCos[x]In[2]:=f[2,3]Out[2]=6+3Cos[2](3)延遲定義函數(shù)延遲定義函數(shù)從定義方法上與即時定義的區(qū)別為“=”與“:=”延遲定義的格式為f[x_]:=expr其他操作基本相同。那么延遲定義和即時定義的主要區(qū)別是什么?即時定義函數(shù)在輸入函數(shù)后立即定義函數(shù)并存放在內(nèi)存中并可直接調(diào)用。延時定義只是在調(diào)用函數(shù)時才真正定義函數(shù)。(4)使用條件運算符定義和If命令定義函數(shù)如果要定義如:這樣的分段函數(shù)應該如何定義,顯然要根據(jù)x的不同值給出不同的表達式。一種辦法是使用條件運算符,基本格式為:f[x_]:=expr/;condition,當condition條件滿足時才把expr賦給f(x)。下面定義方法,通過圖形可以驗證所定義函數(shù)的正確性。In[1]:=f[x_]:=x-1/;x>=0f[x_]:=x^2/;(x>-1)&&(x<0)f[x_]:=x-1/;x<=-1In[4]:=Plot[f[x],{x,-2,2}]Out[4]=-Graphics-當然使用If命令也可以定義上面的函數(shù),If語句的格式為If[條件,值1,值2],如果條件成立取“值1”,否則取“值2”,用If語句的定義結(jié)果如下:In[5]:=g[x_]:=If[x>=0,x-1,If[x<=-1,Sin[x],x^2]]In[6]:=Plot[g[x],{x,-2,2}]Out[6]=-Graphics-可以看出用If定義的函數(shù)g(x)和前面函數(shù)f(x)相同,這里使用了兩個If嵌套,邏輯性比較強。關(guān)于其他的條件命令的進一步討論請看后面的章節(jié)。2.4表將一些相互關(guān)聯(lián)的元素放在一起,使它們成為一個整體。既可以對整體操作,也可以對整體中的一個元素單獨進行操作。在Mathematica中這樣的數(shù)據(jù)結(jié)構(gòu)就稱作表(List)。表{a,b,c}表示一個向量;表{{a,b},{c,d}}表示一個矩陣。1.建表在表中元素較少時,可以采取直接列表的方式列出表中的元素,如{1,2,3},請看下面的操作:In[1]:={1,2,3}Out[1]={1,2,3}下面是符號表達式的列表:In[2]:=1+%x+x^%Out[2]={1+2x,1+2x+x2,1+3x+x3}下面是把Out[2]列表中的表達式對x求導:In[3]:=D[%,x]Out[3]={2,2+2x,3+3x2}In[4]:=%/.x->1Out[4]={2,4,6}如果表中的元素較多時,可以用建表函數(shù)進行建表:Table[f,{i,min,max,step}]以step為步長給出f的數(shù)值表,i由min變到maxTable[f,{min,max}]給出f的數(shù)值表,i由min變到max步長為1Table[f,max]給出max個f的表Table[f,{i,imin,imax},{j,jmin,jmax},….]生成一個多維表TableForm[list]或list//TableForm以表格格式顯示一個表Range[n]生成一個{1,2,……,n}的列表Range[n1,n2,d]生成{n1,n1+d,n1+d,….,n2}的列表下面給出x乘i的值的表,i的變化范圍為[2,6]:In[1]:=Table[x*i,{i,2,6}]Out[1]={2x,3x,4x,5x,6x}In[2]:=Table[x^2,{4}]Out[2]={x2,x2,x2,x2}用Range函數(shù)生成一個序列數(shù):In[3]:=Range[10]Out[3]={1,2,3,4,5,6,7,8,9,10}下面這個序列是以步長為2,范圍從8到20:In[4]:=Range[8,20,2]Out[4]={8,10,12,14,16,18,20}上面的參數(shù)變化都是只有一個,也可制成包括多個參數(shù)的表,下面生成一個多維表:In[5]:=Table[2i+j,{i,1,3},{j,3,5}]Out[5]={{5,6,7},{7,8,9},{9,10,11}}使用函數(shù)TableForm可以以表格的方式輸出In[6]:=%//TableFormOut[6]//TableForm=567789910112.表的元素的操作當t表示一個表時,t[[i]]表示t中的第i個子表。如果t={1,2,a,b}那么t[[3]]表示“a”。In[1]:=t=Table[I+2,j{I,1,3},{j,3,5}]Out[1]={{7,9,11},{8,10,12},{9,11,13}}In[2]:=t[[2]]Out[2]={8,10,12}對于表的操作Mathematica提供了豐富的函數(shù),詳細的可以查閱后面的附錄或者系統(tǒng)幫助。2.5表達式1.表達式的含義Mathematica能處理數(shù)學公式,表以與圖形等多種數(shù)據(jù)形式。盡管他們從形式上看起來不一樣,但在Mathematica內(nèi)部都被看成同種類型,即都把他們當作表達式的形式。Mathematica中的表達式是由常量、變量、函數(shù)、命令、運算符和括號等組成,它最典型的形式是f[x,y]。2.表達式的表示形式在顯示表達式時,由于需要的不同,有時我們需要表達式的展開形式,有時又需要其因子乘積的形式。在我們計算過程中可能得到很復雜的表達式,這時我們又需要對它們進行化簡。常用的處理這種情況的函數(shù)就是變換表達式表示形式函數(shù)。Expand[expr]按冪次升高的順序展開表達式Factor[expr]以因子乘積的形式表示表達式Simplify[expr]進行最佳的代數(shù)運算,并給出表達式的最少項形式表達式(x+y)4(x+y2)展開:In[1]:=Expand[(x+y)^4*(x+y^2)]Out[1]=x5+4x4y+6x3y2+x4y2+4x2y3+4x3y3+xy4+6x2y4+4xy5+y6還原上面的表達式為因子乘積的形式:In[2]:=Factor[%]Out[2]=(x+y)4(x+y2)多項式表達式的項數(shù)較多,比較復雜,在顯示時顯得比較雜亂,而且在計算過程中沒有必要知道全部的內(nèi)容;或表達式的項很有規(guī)律,沒有必要打印全部的表達式的結(jié)果,Mathematica提供了一些命令,可將它縮短輸出或不輸出。expr//Short或Short[expr]顯示表達式的一行形式Short[expr,n]顯示表達式的n行形式,命令后加一分號“;”不輸出結(jié)果將表達式(1+x)30展開,并僅顯示一行有代表項的式子:In[3]:=Expand[(1+x)^30]//ShortOut[3]=1+30x+435x2+4060x3+<<23>>+4060x27+435x28+30x29+x30將上式分成三行的形式展開:In[4]:=Short[Expand[(1+x)^30],3]Out[4]=1+30x+435x2+4060x3+27405x4+142506x5+<<19>>+142506x25+27405x26+4060x27+435x28+30x29+x30把代數(shù)表達式變換到你所需要的形式?jīng)]有一種固定的模式,一般情況下,最好的辦法是進行多次實驗,嘗試不同的變換并觀察其結(jié)果,再挑出你滿意的表示形式。3.關(guān)系表達式與邏輯表達式我們已經(jīng)知道“=”表示給變量賦值?,F(xiàn)在我們來學習一些其它的邏輯與關(guān)系算子。關(guān)系表達式是最簡單的邏輯表達式,我們常用關(guān)系表達式表示一個判別條件。例如:x>0,y=0。關(guān)系表達式的一般形式是:表達式+關(guān)系算子+表達式。其中表達式可為數(shù)字表達式、字符表達式或意義更廣泛的表達式,如一個圖形表達式等。在我們實際運用中,這里的表達式常常是數(shù)字表達式或字符表達式。下面出Mathematica中的各種關(guān)系算子:x==y相等x!=y不相等x>y大于x>=y大于等于x<y小于x<=y小于等于x==y==z都相等x!=y!=z都不相等x>y>z嚴格遞減x<y<z嚴格遞增給變量x,y賦值,輸出后一變量的值,如:In[1]:=x=2;y=9Out[1]=9In[2]:=x>yOut[2]=False下面是比較兩個表達式的大?。篒n[3]:=3^2>y+1上面已設y=9Out[3]=False用一個關(guān)系式只能表示一個判定條件,要表示幾個判定條件胡組合,必須用邏輯運算符將關(guān)系表達式組織在一起,我們稱表示判定條件的表達式為邏輯表達式。下面是常用的邏輯運算和它們的意義:!非&&并||或Xor異或If條件LogicalExpand[expr]展開邏輯表達式例如下面的例子說明它們的應用:In[4]:=3*x^2<y+1&&3^2==y(前面已給x,y賦值,x=2,y=9)Out[4]=FalseIn[5]:=3*x^2<y+1||3^2==yOut[5]=True2.6常用的符號(term)圓括號用于組合運算f[x]方括號用于函數(shù){}花括號用于列表[[i]]雙括號用于排序%代表最后產(chǎn)生的結(jié)果%%倒數(shù)第二次的算結(jié)果%%%(k)倒數(shù)第k次的計算結(jié)果%n例出行Out[n]的結(jié)果(用時要小心)第3章Mathematica的基本運算3.1多項式的表示形式可認為多項式是表達式的一種特殊的形式,所以多項式的運算與表達式的運算基本一樣,表達式中的各種輸出形式也可用于多項式的輸出。Mathematica提供一組按不同形式表示代數(shù)式的函數(shù)。Expand[ploy]按冪次展開多項式ployExpandAll[ploy]全部展開多項式ployFactor[ploy]對多項式poly進行因式分解FactorTerms[ploy,{x,y,…}]按變量x,y,…進行分解Simplify[poly]把多項式化為最簡形式FullSimplify[ploy]把多項式化簡Collect[poly,x]把多項式poly按x冪展開Collect[poly,{x,y…}]把多項式poly按x,y….的冪次展開1.下面是一些例子(1)對x8-1進行分解In[1]:=Factor[x^8-1]Out[1]=(-1+x)(1+x)(1+x2)(1+x4)(2)展開多項式(1+x)5In[2]:=Expand[(1+x)^5]Out[2]=1+5x+10x2+10x3+5x4+x5(3)展開多項式(1+x+3y)4In[3]:=Expand[(1+x+3y)^4]Out[3]=1+4x+6x2+4x3+x4+12y+36xy+36x2y+12x3y+54y2+108xy2+54x2y2+108y3+108xy3+81y4(4)展開并化簡(2+x)4(1+x)4(3+x)3In[4]:=Simplify[Expand[(2+x)^4(1+x)^4(3+x)^3]]Out[4]=(3+x)3(2+3x+x2)42.多項式的代數(shù)運算多項式的運算有加、減、乘、除運算:+,-,*,/下面通過例子說明。(1)多項式的加運算a2+3a+2與a+1相加(后面例子中也使用這兩個多項式運算)In[5]:=(a^2+3*a+2)+(a+1)括號可以不要Out[5]=3+4a+a2或者In[5]:=p1=a^2+3*a+2;p2=a+1;p1+p2Out[5]=3+4a+a2(2)多項式相減In[6]:=(a^2+3*a+2)-(a+1)Out[6]=1+2a+a2或者In[6]:=p1-p2Out[6]=1+2a+a2(3)多項式相乘In[7]:=(a^2+3*a+2)*(a+1)Out[7]=(1+a)(2+3a+a2)或者In[7]:=p1*p2Out[7]=(1+a)(2+3a+a2)In[8]:=Expand[p1*p2]Out[8]=2+5a+4a2+a3(4)多項式相除In[9]:=(a^2+3*a+2)/(a+1)Out[9]=或者In[9]:=p1/p2Out[9]=(5)另外使用Cancel函數(shù)可以約去公因式In[10]:=Cancel[p1/p2]Out[10]=2+a兩個多項式相除,總能寫成一個多項式和一個有理式相加Mathematic中提供兩個函數(shù)PolynomialQuotient和PolynomialRemainder分別返商式和余式。例如:In[11]:=PolynomialQuotient[x^2,1+2x,x]Out[11]=商的整式部分In[12]:=PolynomialRemainder[x^2,1+2x,x]Out[12]=商的余式部分3.2方程與其根的表示因為Mathematica把方程看作邏輯語句。在數(shù)學方程式表示為形如“x2-2x-3=0”的形式。在Mathematica中“=”用作賦值語句,這樣在Mathematica中用“==”(兩個等號中間沒有空格)表示邏輯等號,則方程應表示為“x^2-2x-3==0”。方程的解同原方程一樣被看作是邏輯語句。例如用Roots[lhs==rhs,vars]求方程x2-3x+2=0的根顯示為:In[1]:=Roots[x^2-3x+3==0,x]Out[1]=x==1||x==2這種表示形式說明x取1或2均可而用Solve[lhs==rhs,vars]可得解集形式:In[2]:=Solve[x^2-3x+3==0,x]Out[2]={{x→1},{x→2}}1求解一元代數(shù)方程下面是常用的一些方程求解函數(shù):Solve[lhs==rhs,vars]給出方程的解集NSolve[lhs==rhs,vars]直接給出方程的數(shù)值解集Roots[lhs==rhs,vars]求表達式的根FindRoot[lhs==rhs,{x,x0}]求x在x0附近的方程的數(shù)值解先看Solve函數(shù)例子:In[3]:=Solve[x^2-2x-3==0,x]Out[3]={{x→-1},{x→3}}Solve函數(shù)可處理的主要方程是多項式方程。Mathematica總能對不高于四次的方程進行精確求解,對于三次或四次方程,解的形式可能很復雜。例如求x3+5x+3=0In[4]:=Solve[x^3+5x+3==0,x]這時可用N函數(shù)近似數(shù)值解:In[5]:=N[%]Out[5]={{x→-0.5641},{x→0.28205-2.28881i},{x→0.28205+2.28881i}}當方程中有一些復雜的函數(shù)時,Mathematica可能無法直接給出解來。在這種情況下我們可用FindRoot[]來求解,但要給出起始條件。例如求3Cosx=lnx的解:In[6]:=FindRoot[3*Cos[x]==Log[x],{x,1}]Out[6]={x→1.44726}但只能求出x=1附近的解,如果方程有幾個不同的解,當給定不同的條件時,將給出不同的解。如上例若求x=10附近的解命令為:In[7]:=FindRoot[3*Cos[x]==Log[x],{x,10}]Out[7]={x→13.1064}因此確定解的起始位置是比較關(guān)鍵,一種常用的方法是,先繪制圖形觀察后再解。In[8]:=Plot[{3*Cos[x],Log[x]},{x,1,15}]Out[8]=-Graphics-如上例通過圖形可斷定在x=5附近有另一根:In[9]:=FindRoot[3*Cos[x]==Log[x],{x,5}]Out[9]={x→5.30199}2.求方程組的根使用Solve,NSolve和FindRoot也可求方程組的解,只是使用時格式略有不同,下面給出一個Solve函數(shù)的例子:求解In[10]:=Slove[{2*x+3*y==9,x-2*y==1},{x,y}]Out[10]={{x→3,y→1}}3求方程的全解如果我們求ax2+bx+c=0的根,我們用Solve函數(shù)解的結(jié)果是:In[11]:=Solve[a*x^2+b*x+c==0,x]Out[11]={{x→},{x→}}這顯然是不合理的,因為對不同的a,b,c方程的解有不同的情況,而上面只是給出部分解如果要解決這個問題可用Reduce命令,它可根據(jù)a,b,c的取值給出全部值。In[12]:=Reduce[a*x^2+b*x+c==0,x]Out[12]=a≠0&&(x==||x==||a==0&&b≠0&&x==||c==0&&b==0&&a==0因此Solve,Roots只給出方程的一般解,而Reduce函數(shù)數(shù)可以給出方程的全部可能解。4.解條件方程在作方程計算時,可以把一個方程看作你要處理的主要方程,而把其他方程作為必須滿足的輔助條件,你將會發(fā)現(xiàn)這樣處理很方便。譬如在求解像x4+bx2+c=0這樣的方程時,通常我們采用x2=y的代換方法,使求解方程得到簡化。在Mahematica中,我們通常是首先命名輔助條件組,然后用名字把輔助條件包含在你要用函數(shù)Solve[]求解的方程組中。用Sc定義方程:sin2x+cos2x=1,在這種條件下,求解方程cosx+2sinx=1。In[1]:=Sc=Sin[x]^2+Cos[x]^2==1Out[1]=Cos[x]2+Sin[x]2==1In[2]:=Solve[{Cos[x]+2Sin[x]==1,Sc},{Sin[x],Cos[x]}]Out[2]={{Sin[x]→0,Cos[x]→1},{Sin[x]→,Cos[x]→}}3.3求和與求積在Mathematica中,數(shù)學上的和式符號用Sum表示,連乘符號用Product表示。下面列出求和與求積函數(shù)的形式和意義:Sum[f,{i,imin,imax}]求和Sum[f,{i,imin,imax,di}]以步長di增加i求和Sum[f,{i,imin,imax},{j,jmin,jmax}]嵌套求和Product[f,{i,imain,imax}]求積Product[f,{i,imin,imax,di}]以步長di增加i求積Product[f,{I,imin,imax},{j,jmin,jmax}]嵌套求積Nsum[f,{i,imin,Infinity}]求近似值NProduct[f,{i,imin,Infinity}]求近似值一些例子:求1到9的奇數(shù)和:In[1]:=Sum[2i-1,{i,1,9}]Out[1]=81若下限是1,可以省略:In[2]:=Sum[2i-1,{i,9}]Out[2]=81下式構(gòu)造一個多項式:In[3]:=Sum[i*x^i,{i,1,9,2}]Out[3]=x+3x3+5x5+7x7+9x9Mathematic可以給出和的精確結(jié)果:In[4]:=Sum[1/n!,{n,1,11}]Out[4]=In[5]:=N[%]Out[5]=1.71828第4章函數(shù)作圖4.1基本的二維圖形Mathematica在直角坐標系中作一元函數(shù)圖形用下列基本命令:Plot[f,{x,xmin,xmax},option->value]在指定區(qū)間上按選項定義值畫出函數(shù)在直角坐標系中的圖形Plot[{f1,f2,f3,…},{x,xmin,xmax},option->value]在指定區(qū)間上按選項定義值同時畫出多個函數(shù)在直角坐標系中的圖形Mathematica繪圖時允許用戶設置選項值對繪制圖形的細節(jié)提出各種要求。例如,要設置圖形的高寬比,給圖形加標題等。每個選項都有一個確定的名字,以“選項名->選項值”的形式放在Plot中的最右邊位置,一次可設置多個選項,選項依次排列,用逗號隔開,也可以不設置選項,采用系統(tǒng)的默認值。選項說明默認值A(chǔ)spectRatio圖形的高、寬比1/0.618AxesLabel給坐標軸加上名字不加PlotLabel給圖形加上標題不加PlotRange指定函數(shù)因變量的區(qū)間計算的結(jié)果PlotStyle用什么樣方式作圖(顏色,粗細等)值是一個表PlotPoint畫圖時計算的點數(shù)251.舉例(1)例如繪制的圖形:In[1]:=f[x_]=Sin[x^2]/(x+1)Plot[f[x],{x,0,2Pi}]Out[1]=Out[2]=-Graphics-限制長寬比例:In[3]:=Plot[f[x],{x,0,2Pi},AspectRatio->1/2]長寬比例為1:2Out[3]=-Graphics-(2)如果要取消刻度可以使用Ticks選項:In[4]:=Plot[f[x],{x,0,2Pi},Ticks->None]Out[4]=-Graphics-(3)如果要標注坐標名稱x軸為“Time”,y軸為“Height”:In[5]:=Plot[f[x],{x,0,2Pi},AxesLabel->{“time”,”height”}]Out[5]=-Graphics-(4)將坐標原點移到點(3,0),并標注圖形名稱為Decaywaves:In[6]:=Plot[f[x],{x,0,2Pi},AxesOrigin->{3,0},PlotLabel->“Decaywaves”]Out[6]=-Graphics-(5)修改x方向的刻度,y軸方向的刻度則用默認值:In[7]:=Plot[f[x],{x,0,2Pi},Ticks->{{0,Pi/2,Pi,3Pi/2,2Pi},Automatic}]Out[7]=-Graphics-(6)定義y軸的繪圖范圍:In[8]:=Plot[f[x],{x,0,2Pi},PlotRange->{-0.6,0.6}]Out[8]=-Graphics-(7)另外我們也可以將圖形結(jié)果定義給變量,但不顯示圖形,后用Show命令顯示:In[9]:=g1=Plot[f[x],{x,0,2Pi},DisplayFunction->Identity]g2=Plot[x*Cos[x]/12,{x,0,2Pi},DisplayFunction->Identity]Show[g1,g2,DisplayFunction->$DisplayFunction]Out[9]=-Graphics-Out[10]=-Graphics-Out[11]=-Graphics-2.數(shù)據(jù)集合的圖形Mathematica用于繪數(shù)字集合的圖形的命令與前而介紹的繪函數(shù)圖形的命令是相似的。如下:ListPlot[{y1,y2,…..}]繪出在x的值為1,2…時y1,y2,…的圖形ListPlot[{{x1,y1},{x2,y2},…..}]繪出離散點(xi,yi)ListPlot[List,PlotJoined->True]把離散點連成曲線(1)下面舉例說明下面是一個離散數(shù)據(jù)的集合的圖形:In[1]:=List1=Table[i^3+i,{i,10}]Out[1]={2,10,30,68,130,222,350,520,738,1010}In[2]:=ListPlot[List1]Out[2]=-Graphics-3.二維參數(shù)作圖前面我們使用Plot命令可以繪出直角坐標系下的函數(shù)圖形,使用ParametrecPlot可以繪制參數(shù)曲線下面給出ParametricPlot的常用形式:ParametricPlot[{fx,fy},{t,tmin,tmax}]繪出參數(shù)圖ParametricPlot[{fx,fy},{gx,gy},….{t,tmin,tmax}]繪出一組參數(shù)圖ParametricPlot[{fx,fy},{t,tmin,tmax},AspectRatio->Automatic]設法保持曲線的形(1)繪制參數(shù)方程的圖形In[1]:=ParametricPlot[{Sin[3t]Cos[t],Sin[3t]Sin[t]},{t,0,2Pi}]Out[1]=-Graphics-(2)下面將一個園與上面參數(shù)方程的圖象繪在同一個坐標下,并保證圖形的形狀正確:In[2]:=ParametricPlot[{{Sin[3t]Cos[t],Sin[3t]Sin[t]},{Sin[t],Cos[t]}},{t,0,2Pi},AspectRatio->Automatic]Out[2]=-Graphics-4.2二維圖形元素用圖形元素繪圖適合于繪制結(jié)構(gòu)復雜的圖形。Mathematica中還提供了各種如繪制點、線段、圓弧等函數(shù)。同樣我們可先用Graphics作出平面圖形的表達式,再用Show顯示守成的圖形。下面給出在Mathematica中常用的二維圖形元素:Point[[x,y]]點Line[{{x1,y1},{x2,y2},…}]線段Rectangle[{xmin,ymin},{xmax,ymax}]填充矩陣Polygon[{{x1,y1},{x2,y2},…….}]填充多邊形Circle[{x,y},r]圓Circle[{x,y},{rx,ry}]半軸分別為rx,ry的橢圓Circle[{x,y},r,{theta1,thata2}]圓弧Circle[{x,y},{rx,ry},{theta1,theta2}]橢圓弧Disk[{x,y},r]填充圓Raster[{{a11,a12,…..},{a21,……},….}]灰度在0到1之間的灰層組Text[Expr,{x,y}]文本大小下圖繪出一個有顏色和大小的點,且在圖形四周插入文本:In[1]:=g1=Graphics[{Text[“Left”,{-1,0},{-1,0}],Text[“Right”,{1,0},{1,0}],Text[“Above”,{0,1},{0,-1}],Text[“Below”,{0,-1},{0,-1}],{PointSize[0.3],Point[{0,0}]}},PlotRange->All]Show[g1]Out[1]=-Graphics-Out[2]=-Graphics-下面繪制一些有線條組成的圖形:In[3]:=sawline=Line[Table[{n,(-1)^n},{n,6}]]Show[Graphics[sawline]]Out[3]=Line[{{1,-1},{2,1},{3,-1},{4,1},{5,-1},{6,1}}]Out[4]=-Graphics-當然也可以添加坐標軸,下面的例子說明了這一點:In[5]:=Show[Graphics[sawline],Axes->True]Out[5]=-Graphics-下面的例子是說明了Retangle的圖形繪制,例子中用一些小矩形逼近正弦曲線與x軸所成面積。程序中生成一個圖形集合并顯示出來。In[6]:=St=Table[Rectangle[{x,0},{x+0.08,Sin[x]}],{x,0,2Pi,0.15}]Show[Graphics[St],Axes->True]Out[7]=-Graphics-4.3圖形的樣式我們稱圖形的顏色、曲線的形狀和寬度等特性為圖形樣式。在本節(jié)中,我們就圖形的各種樣式,尤其是曲線的樣式進行學習。下面給出選項用于設置圖形樣式:Graykvel[]灰度介于0(黑)到l(白)之間RGBColor[r,g,b]由紅、綠,藍組成的顏色,每種色彩取0到1之間的數(shù)Hue[A]取0到1之間的色彩Hue[h,s,b]指定色調(diào),位置和亮度的顏色,每項介于0到1之間PointSize[d]給出半徑為d的點,單位是Plot的一個分數(shù)AbsolutePointSize[d]給出半徑為d的點(以絕對單位量取)Thickness[w]給所有線的寬度w,單位是Plot的分數(shù)AbsoluteThickness[w]給所有線的寬度w,(以絕對單位量取)Dashing[wl,w2,….]給所有線為一系列虛線,虛線段的長度為wl,w2,…Absolutedashing[{w1,w2,…..}]以絕對單位給出虛線長度PlotStyle->style設立Plot中所有曲線的風格PlotStyle->{{Style1},{Style2}…….}設立Plot中一些列曲線的風格MeshStyle->Style設立寬度和表面網(wǎng)格的風格1.圖形顏色的設置在Mathematicaa提供各種圖形指令中,對圖形元素顏色的設置是一個很重要的設置.。下面給出三條不同顏色的正弦曲線,此處以灰度表示,即顏色深淺不同。In[1]:=Plot[{Sin[x],Sin[2x],Sin[3x]},{x,0,2Pi},PlotStyle->{RGBColor[0.9,0,0],RGBColor[0,0.9,0],RGBColor[0,0,0.9]}]Out[1]=-Graphics-下面用不同的色調(diào)對三個菱形進行著色。In[2]:=v1={{-1,0},{0,-1},{1,0},{0,1}};Show[Graphics[{Hue[0.1],Polygon[3*v1],Hue[0.8],Polygon[2*v1],Hue[0.2],Polygon[v1]},AspectRatio->Automatic]]Out[2]=-Graphics-2.圖形大小下面是一些點,注意點大小的控制。In[3]:=Table[Point[{n^2,Prime[n]}],{n,5}];Show[Graphics[{PointSize[0.1],%}],PlotRange->All];下面的點的控制是用絕對單位:In[4]:=ListPlot[Table[Prime[n],{n,10}],Prolog->AbsolutePointSize[5]]Out[4]=-Graphics-3.線段的控制下面的例子是控制線段的寬度,使用的是絕對控制。In[5]:=Show[Graphics[{Table[{AbsoluteThickness[d],Line[{{0,0},{1,d}}]},{d,5}],Line[{{0,5},{1,0}}]}]]Out[5]=-Graphics-Mathematica提供的虛線指令可生成多種不同的復雜虛線。4.4圖形的重繪和組合每次繪制圖形后,Mathematica保存了圖形的所有信息,所以用戶可以重繪這些圖形。我們在重繪圖形的時候,還可以改變一些使用。下面是常用重繪圖形的函數(shù)。Show[plot]重繪圖形Show[plot,option->value]改變方案重繪圖形Show[plot1,plot2,plot3…]多個圖形的繪制Show[GraphcisArray[{{plot1,plot2,…}…}]]繪制圖形矩陣InputForm[plot]給出所有的圖形信息1.使用Show顯示圖形下面繪制函數(shù)sinx2的圖形。In[1]:=Plot[Sin[x^2],{x,-Pi,Pi}]Out[1]=-Graphics-In[2]:=Show[%]Out[2]=-Graphics-重繪圖形時,可以改變命令的設置,下面改變y的比例同時給圖加邊框:In[3]:=Show[%,PlotRange->{-1,2},Frame->True]]Out[3]=-Graphics-2.使用Show命令進行組合也可使用Show進行圖形組合。圖形組合與圖形是否有相同的比例無關(guān),這是Mathematica會自動選擇新的比例來繪制圖形。下面繪制函數(shù)xsin(2x+π)的圖形和xcos2x然后繪制在一張圖時。In[4]:=f1=Plot[x*Sin[2x+Pi],{x,0,4Pi}]Out[4]=-Graphics-In[5]:=f2=Plot[x*Cos[2x],{x,0,4Pi}]Out[5]=-Graphics-In[6]:=Show[f1,f2]Out[6]=-Graphics-3.將多個圖形組合為一個圖形我們也可把圖形組合為一個圖形,我們還可以用GraphicsArray把多個圖形繪制在一個圖形矩陣中如下圖。In[7]:=Show[GraphicsArray[{{%6,f1},{%6,f2}}]]Out[7]=-GraphicsArray-4.5基本三維圖形繪制函數(shù)f(x,y)在平面區(qū)域上的三維立體圖形的基本命令是Plot3D,Plot3D和Plot的工作方式和選項基本相同。ListPlot3D可以用來繪制三維數(shù)字集合的三維圖形,其用法也類似于ListPlot,下面給出這兩個函數(shù)的常用形式:Plot3D[f,(x,xmin,xmax),(y,ymin,ymax)]繪制以x和y為變量的三維函數(shù)的圖形ListPlot3D[{Z11,Z12,…},{Z21,Z22,…},…..]]繪出高度為Zvx數(shù)組的三維圖形Plot3D同平面圖形一樣,也有許多輸出選項,你可通過多次試驗找出你所需的最佳圖形樣式。選項取值意義AxesTrue是否包括坐標軸AxesLabelNone在軸上加上標志:zlabel規(guī)定z軸的標志,{xlabel,ylabel,zlabel}規(guī)定所有軸的標志BoxedTrue是否在曲面周圍加上立方體ColorFunctionAutomatic使用什么顏色的明暗度;Hue表示使用一系列顏色TextStyleSTextStyle用于圖形文本的缺省類型ormatTypeStandardForm用于圖形文本的缺省格式類型DisplayFunctionSdlisplayFunction如何繪制圖形,Indentity表示不顯示FaceGridsNone如何在立體界面上繪上網(wǎng)格;All表示在每個界面上繪上網(wǎng)格HiddenSurfaceTrue是否以立體的形式繪出曲面LighdngTrue是否用明暗分布米給表面加色MeshTrue是否在表面上繪出xy網(wǎng)格PlotRangeAutomatic圖中坐標的范圍;可以規(guī)定為All,{zmin,zmax}或{xminn,xmax},{ymin,ymax},{zmin,zmax}ShadingTrue表面是用陰影還是留空白ViewPoint{1.3,-2.4,2}表面的空間觀察點1.三維繪圖舉例(1)函數(shù)sin(x+y)cos(x+y)的立體圖:In[1]:=t1=Plot3D[Sin[x+y]*Cos[x+y],{x,0,4},{y,0,4}]Out[1]=-SurfaceGraphics-(2)對于三維圖形中Axes、Axeslabel、Boxed等操作同二維圖形的一些操作很相似。用PlotRange設定曲線的表面的變化范圍。In[2]:=Show[t1,PlotRange->{0.2,0.2}]Out[2]=-SurfaceGraphics-(3)圖形軸上加上標記,且在每個平面上畫上網(wǎng)格。In[3]:=Show[t1,AxesLabel->{“Time”,”Depth”,”Value”},FaceGrids->All]Out[3]=-SurfaceGraphics-(4)視圖的改變學習過畫法幾何或工程制圖的都知道,制圖時通常用三視圖來表示一個物體的具體形狀特性。我們在生活中也知道從不同觀察點觀察物體,其效果是很不一樣的。Mathematica在繪制立體圖形時,在系統(tǒng)默認的情況下,觀察點在(1.3,-2.4,2)處。這個參考點選擇是具有一般性的,因此偶爾把圖形的不同部分重在一起也不會發(fā)生視覺混亂。下面例子改變觀察視點。In[4]:=Show[t1,ViewPoint->{2,-2,0}]Out[4]=-SurfaceGraphics-從上面我們可以看出,觀察點位于曲面的上方有利于看清對于圖形全貌。對于較復雜的圖形,我們在所繪的圖形上包括盡可能多的曲線對于我們觀察很有幫助。同時,在曲面的周圍直接繪出立方體盒子也有利于我們認清曲面的方位。(5)下面是沒有網(wǎng)格和立體盒子的曲面圖,它看起來就不如前面的圖形清晰明了。In[5]:=Show[t1,Mesh->False,Boxed->False]Out[5]=-SurfaceGraphics-(6)下圖給出沒有陰影的曲面In[6]:=Show[t1,Shading->False]Out[6]=-SurfaceGraphics-帶有陰影和網(wǎng)格的圖形對于理解曲面的形狀是很有好處的。在有些矢量圖形的輸出裝置中,你可能得不到陰影,但是當有陰影時,輸出裝置可能要花很長時間來輸出它。(7)給空間立體曲面著色通常情況下,Mathematica為了使圖形更加逼真而用明暗分布的形式給空間立體曲面著色。在這種情況下,Mathematica假定在圖形的右上方有三種光源照在物體上。但有時這種方法會造成混亂,此時你可用Lighting->False來采取根據(jù)高度在表面上涂以不同灰度的陰影的方法。In[7]:=Show[t1,Lighting->False]Out[7]=-SurfaceGraphics-2用數(shù)據(jù)來進行繪圖同二維繪圖一樣,三維圖形也可用數(shù)據(jù)來進行繪圖。下面給出數(shù)據(jù)矩陣,因其較大未表示其結(jié)果。In[8]:=MyTable:=Table[Sin[x*y]+Random[Real,{0.15,0.15}],{x,0,3Pi/2,Pi/15},{y,0,3Pi/2,Pi/15}]ListPlot3D[MyTable]Out[9]=-SurfaceGraphics-3.三維空間的參數(shù)方程繪圖三維空間中的參數(shù)繪圖函數(shù)ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax}]和二維空間中的ParametricPlot很相仿。在這種情況下,Mathematica實際上都是根據(jù)參數(shù)t來產(chǎn)生一系列點,然后再連接起來。三維參數(shù)作圖的基本形式為:ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax}]給出空間曲線的參數(shù)圖ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax},{u,umin,umax}]給出空間曲面的參數(shù)圖ParametricPlot3D[{fx,fv,fz,s}…..]
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于企業(yè)戰(zhàn)略之績效管理體系-培訓課件
- 教育培訓分析報告
- 密閉式靜脈輸液操作流程
- 店頭團購會活動運營手冊
- 情境教學寫作指導課件
- 2025年高考物理二輪復習備考策略講座
- 工作安全場所管制
- 包茂高速43車連撞教育
- 北師大版三年級下冊數(shù)學第三單元乘法標準檢測卷(含答案)
- 小學家委會工作總結(jié)
- 鋼鐵項目環(huán)評報告 - 4空氣環(huán)境影響評價
- 患病兒童護理及其家庭支持(兒科護理課件)
- 紀檢崗位全員大練兵應知應會題庫(單選題)附有答案
- 智聯(lián)招聘行測筆試題庫
- 江蘇省南京市鹽城市2025屆高三數(shù)學下學期3月第二次模擬考試試題
- 三年級數(shù)學兩位數(shù)乘兩位數(shù)筆算題綜合考核訓練題大全附答案
- NB-T20307-2014核電廠冷卻塔環(huán)境影響評價技術(shù)規(guī)范
- 2024年普通高等學校招生全國統(tǒng)一考試(北京卷)語文含答案
- 中國保險行業(yè)協(xié)會機動車商業(yè)保險示范條款(2020版)
- (正式版)G-B- 21257-2024 燒堿、聚氯乙烯樹脂和甲烷氯化物單位產(chǎn)品能源消耗限額
- 2024年中考語文復習:人性光輝主題閱讀練習題(含答案)
評論
0/150
提交評論