




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Mathematica在數學中的應用
中國科學院研究生院
TheApplicationofMathematicainMath2Mathematica軟件的使用(1)用Mathematica軟件進行各種簡單數學處理(2)用Mathematica軟件進行作圖(3)用Mathematica軟件編寫程序本章教學目的Mathematica中的四種括弧Mathematica一般用到了四種括弧,每種括弧的功能都是不同的,下面總結一下:1、圓括號():用于組合運算,在計算中表示優先計算關系2、方括弧[]:用在函數中,表示其中為函數的參數3、大括弧{}:用來表示集合4、雙括號[[]]:用來表示索引初等代數1.1有理式的展開(常用命令)命令說明Expand[poly]展開多項式polyFactor[poly]對多項式poly作因式分解FactorTerms[poly]提取數字公因子Exponent[poly,x]多項式poly中x的最高次數Cofficient[poly,expr]多項式poly中項expr的系數Poly[[n]]或Part[poly,n]多項式poly的第n項(1)f=Expand[(x+y+3)^2](2)Factor[f](3)Exponent[f,x](4)Coefficient[f,x](5)Factor[(x^3+2x+1)/(x^3+x^2+x+1)](6)Apart[%](*將表達式分解為最簡單分式*)1.2有理式運算的常用命令命令說明ExpandNumerator[expr]展開分子ExpandDenominator[expr]展開分母Expand[expr]展開分子,每項除以分母ExpandAll[expr]分子,分母完全展開Together[expr]通分Apart[expr]分解為部分分式之和Cancel[expr]約分命令說明PolynomialQuotient[p,q,x]x的多項式p與q相除的商式PolynomialRemainder[p,q,x]x的多項式p與q相除的余式PolynomialGCD[p1,p2,….]多項式p1,p2,….的最大公因式PolynomialLCM[p1,p2,….]多項式p1,p2,….的最小公倍數1.3多項式的代數運算(1)PolynomialQuotient[1+x^2,x+1,x](2)PolynomialGCD[x^2+2x+1,x^3+1,x^5+1]命令說明Solve[方程或方程組,{變量}]求方程(組)的精確解NSolve[方程或方程組,{變量}]求方程(組)的(全部)近似解FindRoot[方程,{變量,初值}]用Newton法求方程組的一個近似解1.4方程求解(1)Solve[a*x+b==0,x](2)Reduce[a*x+b==0,x](*推導方程組的解*)(3)FindRoot[Sin[x]==0,{x,3}]Mathematica對符號運算的限制用戶在使用Mathematica對符號表達式進行處理時,也許會執行Expand[(x+1)^(100^100)]的命令。這個命令執行的結果,表達式將有100^100+1項。也許計算機可以很方便地執行這個計算任務,但到計算的后期,每升高(x+1)的冪指數時,計算的增加量是非常大的。當運算超出計算機容量的限制時,Mathematica的計算只能停下來。即使計算下去,花費時間也是相當客觀(1):進行包含10000位數的算術運算(2):展開有1000項的多項式(3):用有幾千項的三個以上的變量分解多項式(4):使用一個遞歸計算1000次以上(5):找出100*100矩陣的逆矩陣的計算(6):輸出結果超過10頁的計算用符號做標記在Mathematica中,可以指定符號為不同類型的目標作標記。這個標記就像數值的單位一樣。比如:微積分
Mathematica可以完成幾乎所有標準數學函數的積分,可以對有理多項式進行積分,只要分母的冪指數不要太高.(1)D[Sin[n*x],{x,3}](2)Dt[Sin[n*x],x](3)Integrate[Log[x],x]有些積分可能無法用確定的式子表示,至少不能用標準的數學函數表示。比如像,這樣的積分根本不能用數學手冊中定義的標準函數的形式求解。Mathematica對于不可積分的數學表達式將不作任何處理。線形代數計算方法、擬和、最優化計算Mathematica軟件的作圖給出一個一元函數及其作圖區間,用Plot語句可以立刻作出函數在相應區間上的圖形(1)Plot[Sin[x],{x,0,2Pi}](2)Plot[Sin[x],{x,0,2Pi},
AspectRatio->Automatic,
PlotStyle->{GrayLevel[0.1], Dashing[{0.02,0.01}], Thickness[0.01]},
AxesLabel->{“x”,“y”}]二維函數作圖
修改坐標的原點為(3,0),并設定圖形名稱修改x軸的刻度,y軸的刻度仍然不變在繪圖時,允許使用選項對繪制圖形的細節提出各種要求和設置。如果不設置任何選項,則Mathematica軟件作圖時選項取默認值。選項默認值意義AspectRatio1/GoldRatio=0.618圖形高度與寬度的比例。如果要圖形按實際情況顯示,設置的選項應為AutomaticAxesAutomatic是否畫坐標軸以及設置坐標軸的中心位置.選項值為None時,不設置坐標軸AxesLabelNone設置坐標軸上的標記符號.用{“字符串1”,“字符串2”}的形式定義軸的橫坐標和縱坐標標記PlotRangeAutomatic圖形中坐標的范圍選項默認值意義PlotPoints22采樣函數的點數.對于函數值變化劇烈的表達式,應設定較大的點數PlotStyleAutomatic設置曲線的樣式。取默認值時畫出一條黑色、實的曲線。選項意義Graylevel[g]灰度比值,g取0到1之間的數,0為黑色,1為白色RGBColor[r,g,b]紅、綠、藍三色的強度,0到1之間的數Thickness線的寬度值為tPlotStyle的可選項目二維參數作圖
使用Plot命令只能繪出一般的函數曲線,要繪制參數曲線,可以用ParametricPlot命令,其一般形式:
ParametricPlot[{x[t],y[t]},{t,tmin,tmax},選項](1)ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi}](2)ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi},
AspectRatio->Automatic]三維函數作圖
作出二元函數f(x,y)的立體圖形的命令是Plot3D,其格式為:Plot3D[f[x,y],{x,xmin,xmax},{y,ymin,ymax},選項](1)Plot3D[Sin[Sqrt[x^2+y^2]],{x,-5,5},{y,-5,5}]與Plot語句類似,Plot3D語句中也可以加入許多選項(2)Plot3D[Sin[Sqrt[x^2+y^2]],{x,-5,5},{y,-5,5}, Boxed->False,Axes->False,
PlotPoints->50,Mesh->False]三維函數作圖
圖形軸上加上標記
學習過畫法幾何或工程制圖的都知道,制圖時通常用三視圖來表示一個物體的具體形狀特性。我們在生活中也知道從不同觀察點觀察物體,其效果是很不一樣的。在繪制立體圖形時,在系統默認的情況下,觀察點在(1.3,-2.4,2)處。這個參考點選擇是具有一般性的,因此偶爾把圖形的不同部分重在一起也不會發生視覺混亂。改變視點
帶有陰影和網格的圖形對于理解曲面的形狀是很有好處的。在有些矢量圖形的輸出裝置中,你可能得不到陰影,但是當有陰影時,輸出裝置可能要花很長時間來輸出它。通常情況下,Mathematica為了使圖形更加逼真而用明暗分布的形式給空間立體曲面著色。在這種情況下,Mathematica假定在圖形的右上方有三種光源照在物體上。但有時這種方法會造成混亂,此時你可用Lighting->False來采取根據高度在表面上涂以不同灰度的陰影的方法。選項默認值意義AspectRatio1圖形高度與寬度的比率AxesTrue是否畫坐標軸AxesLabelNone設置坐標軸上的標記符號BoxedTrue是否顯示外框MeshTrue是否在表面畫網格PlotRangeAutomatic圖形中坐標的范圍PlotPoints15采樣函數的點數ShadingTrue表面是陰影還是空白Plot3D語句的各種常用的選項三維參數作圖
在Mathematica軟件中三維參數作圖有兩種形式,一種是空間曲線參數作圖,其命令為:ParametricPlot3D[{x[t],y[t],z[t]},{t,tmin,tmax},選項](1)ParametricPlot3D[{6Cos[t],6Sin[t],3*t}, {t,-8,8},AspectRatio->1]另外一種是空間曲面參數作圖,其命令為: ParametricPlot3D[{x[u,v],y[u,v],z[u,v]}, {u,umin,umax},{v,vmin,vmax},選項](2)ParametricPlot3D[{Cos[u]*Cos[v], Sin[u]*Cos[v],Sin[v]},{u,0,2Pi}, {v,-Pi/2,Pi/2},Axes->False,Boxed->False](2)ParametricPlot3D[{{Cos[u]*Cos[v],Sin[u]*Cos[v],
Sin[v]},{2Cos[u]*Cos[v],2Sin[u]*Cos[v], 2Sin[v]}},{u,0,Pi},{v,-Pi/2,Pi/2}, Boxed->False,Axes->False]數據作圖
在Mathematica軟件也可以根據數據作出圖形,其命令為:
ListPlot[數據,選項](1)p=Table[{n,Prime[n]},{n,1,20}];L istPlot[p](2)ListPlot[p,PlotStyle->AbsolutePointSize[4]](3)ListPlot[p,PlotJoined->True]圖形的組合
上述的各種圖形命令中,ParametricPlot,ParametricPlot3D,Plot三個語句不僅可以畫出一個函數的圖形,而且可以同時畫出幾個函數的圖形。其一般形式為: 圖形命令[{函數1,函數2,…},變量范圍,選項](1)Plot[{Sin[x],x,x-x^3/6,x-x^3/6+x^5/120}, {x,-2Pi,2Pi}]
圖形元素作圖
如果要繪制一些最基本的圖形,可以用Graphics語句(三維圖形用Graphics3D)作出基本圖形元素,再用Show語句顯示圖形二維圖形元素集合意義Point[{x,y}]點{x,y}Line[{x1,y1},{x2,y2},…]連接{x1,y1},{x2,y2},…的折線段Rectangle[{x1,y1},{x2,y2}]以{x1,y1},{x2,y2}為對角線兩頂點的填實矩陣Polygon[{x1,y1},{x2,y2},…]以{x1,y1},{x2,y2}為頂點的填實多邊形Circle[x,y,r]圓心在{x,y},半徑為r的圓Circle[{x,y},{rx,ry}]中心在{x,y},長短半軸分別為rx,ry的橢圓二維圖形元素集合意義Circle[{x,y},r,{t1,t2}]從弧度t1到弧度t2的圓弧Disk[{x,y},r]圓心在{x,y},半徑為r的填實圓Text[“expr”,{x,y}]在{x,y}處的文本”expr”(1)執行下列語句V1=Graphics[Circle[{0,0},{3.5,4}]];V2=Graphics[Line[{{-2,2.5},{-1,2.5}}]];V3=Graphics[Line[{{2,2.5},{1,2.5}}]];V4=Graphics[Circle[{-1.5,1.5},0.5]];V5=Graphics[Circle[{1.5,1.5},0.5]];V6=Graphics[Disk[{-1.65,1.5},0.15]];V7=Graphics[Disk[{1.35,1.5},0.15]];V8=Graphics[Polygon[{{-0.5,-1},{0.5,-1},{0,0}}]];V9=Graphics[Circle[{0,-2},{0.5,0.3}]];v10=Graphics[Text[“Hello”,{0,-5}]];Show[V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,
AspectRatio->Automatic]三維圖形的元素的函數-略,感興趣的圖形查相關手冊編程
分枝結構
在復雜的計算中經常需要根據表達式的情況(它是否滿足一些條件)確定是否做某些處理,或在滿足不同的條件時做不同的處理。Mathematica軟件提供了一些描述條件分枝的結構,它們在常用的程序里,用于控制程序的執行過程。1:If語句
Mathematica軟件中If語句有三種形式
形式一:If[test,expr]當test的值為True時,對expr求值,將它的值作為整個語句的值;當test的值為False時,則給出空值Null
形式二:If[test,expr1,expr2]
當test的值為True時,求expr1的值作為整個語句的值,當test的值為False時,求expr2的值作為整個語句的值。
形式三:If[test,expr1,expr2,expr3]當test的值為True時,求expr1的值作為整個語句的值,當test的值為False時,求expr2的值作為整個語句的值;當test求不出值為True與False時,求expr3的值作為整個語句的值 (1)abs[x_]=If[x>=0,x,-x](2)f[x_]:=If[x>5,3,2,1](3)f[6](4)f[5](5)f[a]2:Which語句
Which[test1,expr1,test2,expr2,…]
該語句依次求出每一個條件的值,當求出第一個值為True的條件時,求出對應表達式的值作為整個語句的值。(例)g[x_]:=Which[x>=8,8,x>=6,6,x>=4,4,True,0]
用True作為Which語句的最后一個條件,可以處理“其他”情況。在此處即為,當x<4時,g[x]取值為0
循環結構
高級程序設計語言都提供了描述重復執行的循環語句。在Mathematica軟件中也提供了一些類似的循環控制結構。1、While[test,expr]在計算時,條件test先被求值。若求出值為True,則對表達式求值,然后再重復上述過程;一旦test的值不是True,整個循環結果計算結束。例如下面的程序可用來計算與100!k=1;s=0;p=1;While[k<=100,s=s+k;p=p*k;k++];Print[“s=”,s,“p=”,p]2、For[start,test,incr,body]在計算時,其初始表達式start首先求值,然后進入循環,依次計算條件test,步長表達式incr與循環體body,一旦test的值不是True,整個循環結構計算結束.s=0;p=1;For[k=1,k<=100,k++,s=s+k;p=p*k];Print[“s=”,s,“p=”,p]3、Do[expr,{i,imin,imax,di]在循環變量i依步長di從imin取到imax
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行借款合同與借據7篇
- 購銷合同位置補充協議范本9篇
- 屋建筑承包合同范本5篇
- 借款合同科技貸款擔保合同5篇
- 2025年特約代理合同7篇
- 【合同范本稍改即用供參考】中外租賃合同9篇
- 中班健康《你是我的好朋友》教案
- 化學單元1 酸性溶液和堿性溶液第一課時教案及反思
- 五年級美術下冊教案-《第11課 學畫松樹》教學設計人教版
- 九年級體育 第9周 第18次課教學設計
- 陜西省西安鐵一中2025屆高考語文二模試卷含解析
- 租車位安裝充電樁合同范本
- 七年級上冊地理填圖訓練
- 幼兒園孩子食物中毒培訓
- 人教版(2024)英語七年級上冊單詞表
- 建筑工程cad課程說課
- 獨山玉飾品質量等級評價DB41-T 1435-2017
- 【互聯網企業并購中的財務風險探析與防范:以阿里巴巴并購餓了么為例12000字(論文)】
- 第九屆全國大學生測井技能大賽備賽試題庫-下(判斷題)
- 2025屆江蘇省南京市六區初三第二學期期中考試英語試題試卷含答案
- icu手冊第一部分-常見病診療規范
評論
0/150
提交評論