版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Mathematica數(shù)學(xué)實(shí)驗(yàn)北京交通大學(xué)第一章Mathematica基礎(chǔ)知識(shí)
1.1Mathematica概述1.1.1Mathematica簡(jiǎn)介Mathematica作為一個(gè)功能強(qiáng)大的常用數(shù)學(xué)軟件,不但可以解決數(shù)學(xué)中的數(shù)值計(jì)算問(wèn)題,還可以解決符號(hào)演算問(wèn)題,并且能夠方便地繪出各種函數(shù)圖形。Mathematica自1988年由美國(guó)的WolframResearch公司首次推出Mathematica1.0版本以來(lái),隨著WolframResearch公司對(duì)它的不斷改進(jìn),先后推出了Mathematica1.2、Mathematica2.0、Mathematica2.2、Mathematica3.0、Mathematica4.0等版本。下面看一些用mathematica做的一些例子:見(jiàn)圖
啟動(dòng)Mathematica后,屏幕上出現(xiàn)稱為Notebook的Mathematica系統(tǒng)集成界面:
Mathematica在用戶區(qū)輸入的內(nèi)容被Mathematica用一個(gè)具有擴(kuò)展名為“.ma”的文件名來(lái)紀(jì)錄,該文件名是退出Mathematica時(shí)保存在用戶區(qū)輸入內(nèi)容的默認(rèn)文件名,一般是文件名:“Newnb-1.ma”。退出Mathematica系統(tǒng)像關(guān)閉一個(gè)Word文件一樣,只要用鼠標(biāo)點(diǎn)擊Mathematica系統(tǒng)集成界面右上角的關(guān)閉按鈕即可。關(guān)閉前,屏幕會(huì)出現(xiàn)一個(gè)對(duì)話框,詢問(wèn)是否保存用戶區(qū)的內(nèi)容,如果單擊對(duì)話框的“否(N)”按鈕,則關(guān)閉Notebook窗口,退出Mathematica系統(tǒng);如果單擊對(duì)話框的“是(Y)”按鈕,則先提示你用一個(gè)具有擴(kuò)展名為.ma的文件名來(lái)保存用戶區(qū)內(nèi)的內(nèi)容,再退出Mathematica系統(tǒng)。1.1.4Mathematica操作的注意事項(xiàng)(1)在Notebook用戶區(qū)用戶輸入完Mathematica命令后,還要按下Shift+Enter組合鍵,Mathematica才能執(zhí)行你輸入的Mathematica命令。(2)在Notebook用戶區(qū)如果某個(gè)命令一行輸入不下,可以用按下Enter鍵的方法來(lái)達(dá)到換行的目的。(3)在Notebook用戶區(qū)除了可以用直接鍵盤輸入的方法進(jìn)行輸入外,還可以用打開的方式從磁盤中調(diào)入一個(gè)已經(jīng)存在的具有擴(kuò)展名為.ma的文件來(lái)進(jìn)行操作。(4)每次輸入完Mathematica命令并按下Shift+Enter組合鍵,通常系統(tǒng)會(huì)在輸入內(nèi)容的前一行自動(dòng)加入符號(hào)In[n]=:以表出此次輸入是第n次輸入。如果用戶不想計(jì)算機(jī)顯示此次輸入的結(jié)果,只要在所輸入命令的后面再加上一個(gè)分號(hào)“;”即可以達(dá)到目的。如:In[1]:=x=2+3Out[1]=5In[2]:=x=2+3;不顯示結(jié)果51.2Mathematica中的數(shù)據(jù)
1.2.1Mathematica中的數(shù)據(jù)類型和數(shù)學(xué)常數(shù)
Mathematica提供的簡(jiǎn)單數(shù)據(jù)類型有整數(shù)、有理數(shù)、實(shí)數(shù)和復(fù)數(shù)4種類型,這些數(shù)據(jù)在Mathematica中有如下的要求:(1)整數(shù)描述為Integer,是可以具有任意長(zhǎng)度的精確數(shù)。書寫方法同于我們通常的表示,輸入時(shí),構(gòu)成整數(shù)的各數(shù)字之間不能有空格、逗號(hào)和其它符號(hào),整數(shù)的正負(fù)號(hào)寫在該數(shù)的首位,正號(hào)可以不輸入。如:2367189、-932是正確的整數(shù)。(2)有理數(shù)描述為Rational,用化簡(jiǎn)過(guò)的分?jǐn)?shù)表示,但其中分子和分母都應(yīng)該是整數(shù),有理數(shù)是精確數(shù),輸入時(shí)分號(hào)用“/”代替,即使用“分子分母”的形式。如:23/45、-41/345是正確的有理數(shù)。(3)實(shí)數(shù)描述為Real,是除了整數(shù)和有理數(shù)之外的所有實(shí)數(shù)。與一般高級(jí)語(yǔ)言不同的是這里數(shù)學(xué)中的無(wú)理數(shù)是可以有任意精確度的近似數(shù),如圓周率,在Mathematica中它可以根據(jù)需要取任意位有效數(shù)字。(4)復(fù)數(shù)描述為Complex,用是否含有虛數(shù)單位I來(lái)區(qū)分,它的實(shí)部和虛部可以是整數(shù)、有理數(shù)和實(shí)數(shù)。如:3+4.3I、18.5I都是正確的復(fù)數(shù)。1.2.2Mathematica數(shù)的運(yùn)算符
數(shù)的運(yùn)算有:加、減、乘、除和乘方,它們?cè)贛athematica中的符號(hào)為:加(+)、減(-)、乘(*)、除(/)和乘方(^)。不同類型的數(shù)參與運(yùn)算,其結(jié)果的類型為:如果運(yùn)算數(shù)有復(fù)數(shù),則計(jì)算結(jié)果為復(fù)數(shù)類型;如果運(yùn)算數(shù)沒(méi)有復(fù)數(shù),但有實(shí)數(shù),則計(jì)算結(jié)果為實(shí)數(shù)類型如果運(yùn)算數(shù)沒(méi)有復(fù)數(shù)和實(shí)數(shù),但有分?jǐn)?shù),則計(jì)算結(jié)果為有理數(shù)類型如果運(yùn)算數(shù)只有整數(shù),則計(jì)算結(jié)果或是整數(shù)類型(如果計(jì)算結(jié)果是整數(shù));或是有理數(shù)類型(如果計(jì)算結(jié)果不是整數(shù))。1.2.3Mathematica中的精確數(shù)與近似數(shù)Mathematica的近似數(shù)是帶有小數(shù)點(diǎn)的數(shù);精確數(shù)是整數(shù)、有理數(shù)、數(shù)學(xué)常數(shù)以及函數(shù)在自變量取整數(shù)、有理數(shù)、數(shù)學(xué)常數(shù)時(shí)的函數(shù)值。如:62243、2/3、E、Sin[4]都是精確數(shù)。如果參與運(yùn)算或求值的數(shù)帶有小數(shù)點(diǎn),則運(yùn)算結(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ù)如果需要精確數(shù)的數(shù)值結(jié)果(除了整數(shù)之外),可以用Mathematica提供的N函數(shù)將其轉(zhuǎn)化,N函數(shù)可以得到該精確數(shù)的任意精度的近似結(jié)果,其形式有兩個(gè):
例如:
In[6]:=2*E+Sin[Pi/5]//NOut[6]=6.02345In[7]:=N[2*E+Sin[Pi/5],30]Out[7]=6.02434890921056359988928089734建表命令有如下幾種形式:命令形式1:Table[通項(xiàng)公式f(i),{i,imin,imax,h}]功能:產(chǎn)生一個(gè)表{f(imin),f(imin+h),f(imin+2h),…,f(imin+nh)}其中:imax–himin+nhimax,h>0例如:建立一個(gè)表{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[通項(xiàng)公式f(i),{i,imin,imax}]功能:產(chǎn)生一個(gè)表{f(imin),f(imin+1),f(imin+2),…,f(imin+n)}其中:imax–1imin+nimax例如:建立一個(gè)表{22,……,102}命令:In[9]:=Table[i^2,{i,2,10}]Out[9]={4,9,16,25,36,49,64,81,100}命令形式3:
Table[通項(xiàng)公式f,{循環(huán)次數(shù)n}],f為常數(shù)功能:產(chǎn)生n個(gè)f的一個(gè)表{f,f,f,……,f}
例如:建立產(chǎn)生8個(gè)2一個(gè)表{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[通項(xiàng)公式f(i,j),{{i,imin,imax},{j,jmin,jmax}]功能:產(chǎn)生一個(gè)二維表{{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}}表的分量表示:有時(shí)為了某種需要,希望取出表中的某一或某些元素參與后面的運(yùn)算和處理。常用表示表分量的命令有:命令形式1:
表[[序號(hào)n]]功能:取出表中序號(hào)為n的元素例如:取出表{1,9,x,49,81,{121,169},225,289,361}的正數(shù)第3個(gè)元素、第6個(gè)元素、和倒數(shù)第2個(gè)元素的命令依次為:命令: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表的運(yùn)算函數(shù)
Mathematica表的運(yùn)算函數(shù)有很多,這里介紹兩個(gè)常用的函數(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,表]對(duì)表中所有元素求和Apply[Times,表]對(duì)表中所有元素求積1.3Mathematica中的變量
1.3.1Mathematica的變量命名Mathematica的變量名規(guī)定為任何小寫英文字母或以小寫英文字母開頭后跟若干字母或數(shù)字表示的字符串,如x,y,ae3,d3er45都是合法的變量名。一般Mathematica的變量名不用小寫字母。如果在某些情況下一定要用大寫字母,應(yīng)該注意不要與Mathematica中的數(shù)學(xué)常數(shù)和內(nèi)部函數(shù)或命令的混淆。Mathematica中的變量名是區(qū)分大小寫字母的,如在Mathematica中,ab與Ab表示兩個(gè)不同的變量。變量名中的字符之間不能有空格,因?yàn)樽兞棵械目崭裨贛athematica中被理解為變量的乘積。如:abcd與abcd有不同的含義,前者表示一個(gè)變量abcd,而后者M(jìn)athematica會(huì)將其看成兩個(gè)變量ab和cd的乘積關(guān)系。變量名不能以數(shù)字開頭的字符串來(lái)表示,如果在Mathematica里出現(xiàn)了這種字符串,Mathematica將其理解為數(shù)字與變量的乘積。例如:以數(shù)字開頭的字符串3asd,在Mathematica中表示3乘以變量asd即3asd表示3*asd。在Mathematica中變量使用前不必先定義變量類型。Mathematica變量的類型可以不斷變化,取決于其中所存數(shù)據(jù)的類型;變量不但可以存放前面所提到的四種數(shù)據(jù)數(shù),而且可以存放一個(gè)方程式、一個(gè)圖形或更復(fù)雜的關(guān)系式。1.3.2Mathematica中的變量取值與清除如果一個(gè)變量在程序運(yùn)行中沒(méi)有被存儲(chǔ)內(nèi)容,此時(shí)該變量名只是一般的數(shù)學(xué)符號(hào)參與程序的處理。如果變量被存儲(chǔ)了內(nèi)容,稱為變量取值。變量取值之后,該變量就用存入的內(nèi)容參與程序的處理。在Mathematica中,變量獲取值的方式有三種:變量賦值、鍵盤輸入和變量替換。下面分別介紹這三種方式:(2)鍵盤輸入方式
鍵盤輸入方式是變量取值的另一種常用的方式,多用于需要在命令或程序的運(yùn)行中由用戶從鍵盤上臨時(shí)鍵入的人機(jī)交互式變量取值。
Mathematica中鍵盤輸入命令形式為:
變量=Input[]
當(dāng)遇到上面的鍵盤輸入命令后,計(jì)算機(jī)在屏幕上給出一個(gè)輸入小窗口,等待用戶在其中從鍵盤上鍵入一個(gè)表達(dá)式,鍵入完畢后,用鼠標(biāo)點(diǎn)擊“OK”按扭后,計(jì)算機(jī)將鍵入的表達(dá)式求值后,將結(jié)果存儲(chǔ)在算等號(hào)左邊的變量中。這里“=”是賦值號(hào)。
例如:In[22]:=x=Input[]*變量x等待鍵盤輸入賦值(見(jiàn)圖)Out[22]=23(*此時(shí)x從鍵盤上被賦值23)In[23]:=x+1Out[23]=24下一頁(yè)返回變量替換時(shí)變量本身還是數(shù)學(xué)符號(hào),沒(méi)有發(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-71.4Mathematica中的函數(shù)Mathematica有很豐富的內(nèi)部函數(shù),它們是Mathematica系統(tǒng)自帶的函數(shù),函數(shù)名一般使用數(shù)學(xué)中的英文單詞,只要輸入相應(yīng)的函數(shù)名,就可以方便地使用這些函數(shù)。內(nèi)部函數(shù)既有數(shù)學(xué)中常用的函數(shù),又有工程中用的特殊函數(shù)。如果用戶想自己定義一個(gè)函數(shù),Mathematica也提供了這種功能。Mathematica中的函數(shù)自變量應(yīng)該用方括號(hào)[]括起,不能用圓括()號(hào)括起,即一個(gè)數(shù)學(xué)中的函數(shù)f(x,y,…)應(yīng)該寫為f[x,y,…]才行。1.4.1Mathematica中的內(nèi)部函數(shù)Mathematica的內(nèi)部函數(shù)名字大部分是其英文單詞的全名,如Random,Conjugate等。Mathematica內(nèi)部函數(shù)的名字第一個(gè)字母一定要大寫,其后的字母一般是小寫的,不過(guò)如果該名字有幾個(gè)含義,則函數(shù)名字中體現(xiàn)每個(gè)含義的第一個(gè)字母也要大寫,如反正切函數(shù)arctanx中含有反“arc”和正切“tan”兩個(gè)含義,故它的Mathematica函數(shù)表示為ArcTan[x]。下面列舉一些常用的Mathematica內(nèi)部函數(shù):(1)數(shù)值函數(shù):Abs[x]表示x的絕對(duì)值|x|Round[x]表示最接近x的整數(shù)Floor[x]表示不大于x的最大整數(shù)Ceiling[x]表示不小于x的最大整數(shù)Sign[x]表示x的符號(hào)函數(shù)sgn(x)Exp[x]表示以自然數(shù)為底的指數(shù)函數(shù)exLog[x]表示以自然數(shù)為底的對(duì)數(shù)函數(shù)lnxLog[a,x]表示以數(shù)a為底的對(duì)數(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í)數(shù)x1,x2,…。,xn的最大值Max[s]表示取出表s中所有數(shù)的最大值Min[x1,x2,…,xn]表示取出實(shí)數(shù)x1,x2,…。,xn的最小值Min[s]表示取出表s中所有數(shù)的最小值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]表示二項(xiàng)式系數(shù)Re[z]取復(fù)數(shù)z的實(shí)部Im[z]取復(fù)數(shù)z的虛部Conjugate[z]取復(fù)數(shù)z的共軛復(fù)數(shù)Sqrt[x]表示x的平方根函數(shù)舉例說(shuō)明: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舉例說(shuō)明: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舉例說(shuō)明: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這四個(gè)數(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的實(shí)部,求虛部用ImIn[37]=Sqrt[4]Out[37]=2練習(xí):1用mathematica數(shù)學(xué)軟件計(jì)算下列各式值(1)1238+e2.3×log23÷cos21o(2)tan(-x2)arccosx,在x=0.25和x=0.78x的函數(shù)值2假設(shè)有一種傳染病,任何人得病后,在傳染期內(nèi)不會(huì)四無(wú),且最初有m人患病,每個(gè)人年平均傳染率為k,治愈率為i,若一年內(nèi)等時(shí)間間隔檢測(cè)n次,則一年后患病人數(shù)為?若檢測(cè)次數(shù)無(wú)限次數(shù)增加,一年后傳染病人數(shù)會(huì)無(wú)限增加嗎?函數(shù)形式功能Random[]隨機(jī)給出閉區(qū)間[0,1]內(nèi)的一個(gè)實(shí)數(shù)Random[Real,xmax]隨機(jī)給出閉區(qū)間[0,xmax]內(nèi)的一個(gè)實(shí)數(shù)Random[Real,{xmin,xmax}]隨機(jī)給出閉區(qū)間[xmin,xmax]內(nèi)的一個(gè)實(shí)數(shù)Random[Integer]隨機(jī)給出整數(shù)0或1Random[Integer,{xmin,xmax}]隨機(jī)給出xmin到xmax之間的一個(gè)整數(shù)Random[Complex]隨機(jī)給出單位正方形內(nèi)的一個(gè)復(fù)數(shù)(2)隨機(jī)函數(shù):舉例:(i)產(chǎn)生小于等于5的一個(gè)非負(fù)隨機(jī)實(shí)數(shù)。命令:In[39]:=Random[Real,5]Out[39]=4.72088(ii)產(chǎn)生閉區(qū)間[0,1]內(nèi)的6個(gè)隨機(jī)實(shí)數(shù)的一個(gè)表。命令: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個(gè)隨機(jī)實(shí)數(shù)的一個(gè)表。命令: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個(gè)隨機(jī)整數(shù)的一個(gè)表。命令: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個(gè)隨機(jī)復(fù)數(shù)的一個(gè)表。命令:In[43]:=Table[Random[Complex]],{5}]Out[43]={0.537111+0.917944I,0.944971+0.283356I,0.289054+0.937503I}1.4.2Mathematica中的自定義函數(shù)
Mathematica自定義函數(shù)的一般命令為:
函數(shù)名[自變量名1_,自變量名2_,]:=表達(dá)式這里函數(shù)名與變量名的規(guī)定相同,方括號(hào)中的每個(gè)自變量名后都要有一個(gè)下劃線“_”,中部的定義號(hào)“:=”的兩個(gè)符號(hào)是一個(gè)整體,中間不能有空格。常用的自定義函數(shù)命令有:定義一個(gè)一元函數(shù)
函數(shù)名[自變量名_]:=表達(dá)式例如:
定義一個(gè)函數(shù)y=asinx+x5,a是參數(shù)命令:In[44]:=y[x_]:=a*Sin[x]+x^5定義一個(gè)二元函數(shù)
函數(shù)名[自變量名1_,自變量名2_]:=表達(dá)式例如:定義一個(gè)函數(shù)z1=tan(x/y)-ye5x命令:In[45]:=z1[x_,y_]:=Tan[x/y]+y*Exp[5x]自定義函數(shù)的幾點(diǎn)注意事項(xiàng):自定義函數(shù)名的第一個(gè)字母不能大寫以利于區(qū)別內(nèi)部函數(shù)。鍵入自定義函數(shù)并按下Shift+Enter鍵后,Mathematica不在計(jì)算機(jī)屏幕顯示輸出結(jié)果Out[n],只是記住該自定義函數(shù)的函數(shù)名和對(duì)應(yīng)的表達(dá)式,以利于后面的函數(shù)求值和運(yùn)算使用。如果自定義函數(shù)不再使用,應(yīng)該及時(shí)清除該自定義函數(shù)以釋放由自定義函數(shù)占用的內(nèi)存空間,清除自定義函數(shù)的命令與清除變量的命令相同,即清除自定義函數(shù)的命令為:
Clear[自定義函數(shù)名]
舉例:寫出從集合x={1,2,3,4,5,6,7,8,9,0}中等概率取出n個(gè)元素的自定義函數(shù)(可以重復(fù)抽取)。解:Mathematica命令: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](*隨機(jī)取出5個(gè)元素)Out[48]={0,3,3,5,9}In[49]:=drawout[x,12](*隨機(jī)取出12個(gè)元素)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[[表]]三個(gè)函數(shù)的復(fù)合構(gòu)成的。1.4.3Mathematica中的函數(shù)求值表示函數(shù)在某一點(diǎn)的函數(shù)值有兩種方式:一種是數(shù)學(xué)方式,即直接在函數(shù)中把自變量用一個(gè)值或式子代替,如Sin[2.3],Sqrt[a+1],z1[3,5]等;另一種為變量替換的方式:函數(shù)/.變量名>數(shù)值或表達(dá)式或函數(shù)/.{變量名1>數(shù)值1或表達(dá)式1,變量名2>數(shù)值2或表達(dá)式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)21.4.4純函數(shù)
純函數(shù)命令形式如下:Function[變量或變量表,表達(dá)式]注意:Function僅表示純函數(shù)的記號(hào),它的縮寫形式“
[變量或變量表,表達(dá)式]&”使行文更簡(jiǎn)潔。純函數(shù)用&分隔函數(shù)定義和調(diào)用的(實(shí)在)函數(shù),&后放調(diào)用的參數(shù).當(dāng)函數(shù)中只有一個(gè)變量時(shí),用#表示變量,否則用#1,#2,…分別表示第一個(gè)變量和第二個(gè)變量等。舉例:In[56]:=Function[x,Cos[x]^2-Sin[x]]Out[56]=Function[x,Cos[x]2-Sin[x]](函數(shù)已建立)In[57]:=%[3](*計(jì)算x=3時(shí)的函數(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]:=81.5Mathematica中的表達(dá)式數(shù)學(xué)中常用的表達(dá)式有算術(shù)表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式。1.5.1Mathematica中的算術(shù)表達(dá)式在Mathematica中,算術(shù)表達(dá)式是由算術(shù)運(yùn)算符(加(+)、減(-)、乘(*)、除(/)和乘方(^))連接常數(shù)、變量、函數(shù)構(gòu)成的一個(gè)式子。如:57、Sqrt[x]、2+3.2、3*x-Exp[y]、(Sin[Pi/3]^4-1)*x+1、(a+1)/(3-a)-(b-1)/a等都是算術(shù)表達(dá)式。符號(hào)%、%%、%n在Mathematica中分別表示最后一次、次后一次和第n次的輸出結(jié)果,。算術(shù)表達(dá)式的運(yùn)算順序是括號(hào)優(yōu)先、同級(jí)運(yùn)算遵守從左到右的先后順序運(yùn)算、算符運(yùn)算順序的優(yōu)先級(jí)按(由高到低):函數(shù)計(jì)算乘冪乘除加減
1.5.2Mathematica中的關(guān)系表達(dá)式關(guān)系表達(dá)式也稱為算術(shù)關(guān)系表達(dá)式,常用來(lái)比較兩個(gè)算術(shù)表達(dá)式值的大小。在Mathematica中,關(guān)系表達(dá)式的一般形式為:
<算術(shù)表達(dá)式><關(guān)系運(yùn)算符><算術(shù)表達(dá)式>Mathematica的關(guān)系運(yùn)算符有六種,它們的表示和含義如下:關(guān)系運(yùn)算符含義對(duì)應(yīng)的數(shù)學(xué)符號(hào)例子==相等關(guān)系=如x+3=0應(yīng)該寫為x+3==0!=不等關(guān)系如x+30應(yīng)該寫為x+3!=0>大于關(guān)系>如x>4應(yīng)該寫為x>4>=大于等于關(guān)系如x4應(yīng)該寫為x>=4<小于關(guān)系<如x<4應(yīng)該寫為x<4<=小于等于關(guān)系如x4應(yīng)該寫為x<=4注意:由兩個(gè)符號(hào)構(gòu)成的關(guān)系運(yùn)算符==、!=、>=、<=中間不能有空格或其他符號(hào)。關(guān)系表達(dá)式的計(jì)算順序?yàn)椋合确謩e計(jì)算兩個(gè)算術(shù)表達(dá)式的值,再比較它們的值。關(guān)系表達(dá)式的計(jì)算結(jié)果是三個(gè)邏輯值True(真)、False(假)和非真非假,取值的規(guī)則為:當(dāng)關(guān)系表達(dá)式成立時(shí),取值為True;當(dāng)關(guān)系表達(dá)式不成立時(shí),取值為False;當(dāng)關(guān)系表達(dá)式不能確定時(shí),將關(guān)系表達(dá)式原樣輸出,表示取值為非真非假。關(guān)系表達(dá)式中關(guān)系運(yùn)算符的計(jì)算優(yōu)先級(jí)別低于算術(shù)運(yùn)算符。1.5.3Mathematica中的邏輯表達(dá)式關(guān)系表達(dá)式只能表示一個(gè)條件,如果考慮的問(wèn)題涉及到多個(gè)條件的組合,用邏輯表達(dá)式最方便。關(guān)系表達(dá)式的形式有:
<關(guān)系表達(dá)式><邏輯運(yùn)算符><關(guān)系表達(dá)式>或<邏輯運(yùn)算符><關(guān)系表達(dá)式>或<關(guān)系表達(dá)式><邏輯運(yùn)算符1><關(guān)系表達(dá)式><邏輯運(yùn)算符2>…<關(guān)系表達(dá)式>常用的Mathematica的邏輯運(yùn)算符有三種:邏輯運(yùn)算符名稱含義
!邏輯非當(dāng)關(guān)系表達(dá)式A為真時(shí),!A為假;當(dāng)關(guān)系表達(dá)式A為假時(shí),!A為真。&&
邏輯與當(dāng)關(guān)系表達(dá)式A和B都為真時(shí),A&&B為真,否則為假。
||
邏輯或當(dāng)關(guān)系表達(dá)式A和B都為假時(shí),A||B為假,否則為真。
邏輯表達(dá)式常用來(lái)表示數(shù)學(xué)條件,特別在描述變量的范圍時(shí)比關(guān)系表達(dá)式更為簡(jiǎn)潔和方便,如x(a,b]邏輯表達(dá)式為x>a&&x<=bx(a,b]邏輯表達(dá)式為x<=a||x>b2<x<4或1<=y<3邏輯表達(dá)式為(x>2&&x<4)||(y>=1&&y<3)1.5.4Mathematica中的復(fù)合表達(dá)式
在Mathematica中,一個(gè)用分號(hào)隔開的表達(dá)式序列稱為一個(gè)復(fù)合表達(dá)式,它也稱為一個(gè)過(guò)程。運(yùn)行Mathematica中的一個(gè)復(fù)合表達(dá)式就是依次執(zhí)行過(guò)程中的每個(gè)表達(dá)式,且過(guò)程中最后一個(gè)表達(dá)式的值作為該復(fù)合表達(dá)式的值,例如:In[63]:=t=1;u=t+4;Sin[u]
Out[63]=Sin[5](顯示Sin[u]的值)下一頁(yè)1.6Mathematica中的一些符號(hào)和語(yǔ)句
1.6.1Mathematica中的專用符符號(hào)意 義%倒數(shù)第一次輸出的內(nèi)容
%%倒數(shù)第二次輸出的內(nèi)容%n第n次輸出內(nèi)容,對(duì)應(yīng)Out[n]的輸出式子
?顯示該命令的簡(jiǎn)單使用方法??顯示該命令的詳細(xì)使用方法;運(yùn)算分號(hào)前面的表達(dá)式,但不顯示計(jì)算結(jié)果
->箭頭右面的內(nèi)容替換箭頭左邊的內(nèi)容(1)輸出結(jié)果替代符:%,%%,%n
例1.
求2的平方根(默認(rèn)精度)、求10位精度、最后檢驗(yàn)在計(jì)算過(guò)程中是否存在較大的誤差。
解: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.說(shuō)明本題計(jì)算不存在較大誤差。(2)查看幫助符號(hào)?、??的使用例2.
查看函數(shù)N[]的大致用法和詳細(xì)用法
Mathematica命令:
輸入:In[6]:=?N 輸入:In[7]:=??N
例3
查看以Exp開頭的所有內(nèi)建函數(shù)名及Expand函數(shù)的詳細(xì)用法Mathematica命令:
In[8]:=?Exp* In[9]:=??Expand
(3)表達(dá)式運(yùn)算符“;”的使用說(shuō)明:如果表達(dá)式末尾無(wú)“;”,則顯示該表達(dá)式的結(jié)果,否則不顯示該表達(dá)式的結(jié)果。例4In[10]:=3+5Out[10]:=8In[11]:=3+5;
In[12]:=%Out[12]:=6(4)替換符號(hào)“->”的使用例5
符號(hào)->作為函數(shù)參數(shù)指針命令:In[13]:=:Plot3D[Sin[xy],{x,0,4},{y,0,4},PlotPoints->40,Mesh->False,
FaceGrids->All,AxesLabel->{"Length","Width","Height"}];例6
符號(hào)->作為方程結(jié)果指針
In[14]:=Solve[x^2+2bx+c==0,x]
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年社會(huì)健康大班教案
- 財(cái)務(wù)部全年工作概述
- 《肺栓塞診治新進(jìn)展》課件
- 化妝師為客戶化妝設(shè)計(jì)妝容
- 兒童教育行業(yè)教育啟蒙培訓(xùn)心得
- 防務(wù)行業(yè)戰(zhàn)術(shù)訓(xùn)練培訓(xùn)總結(jié)
- 2024年稅務(wù)師題庫(kù)及完整答案
- 2024年計(jì)算機(jī)網(wǎng)絡(luò)個(gè)人簡(jiǎn)歷
- 2024年甘孜職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)有答案
- 農(nóng)村宅基地父母繼承協(xié)議書(2篇)
- 消化鏡之電子結(jié)腸鏡課件
- 2023-2024學(xué)年安徽省蕪湖市小學(xué)語(yǔ)文五年級(jí)期末自測(cè)考試題附參考答案和詳細(xì)解析
- 旋挖樁基泥漿護(hù)壁施工方案全套
- 電動(dòng)力學(xué)試卷及答案
- 溫室大棚租賃合同(通用5篇)
- 中學(xué)美育工作制度
- 資金管理審計(jì)
- 安徽華塑股份有限公司華塑股份產(chǎn)品結(jié)構(gòu)調(diào)整改造一體化項(xiàng)目年產(chǎn)12萬(wàn)噸生物可降解新材料環(huán)境影響報(bào)告書
- 2023年貴州貴陽(yáng)市貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試題庫(kù)含答案解析
- 相干測(cè)風(fēng)激光雷達(dá)系統(tǒng)設(shè)計(jì)及數(shù)據(jù)處理算法研究共3篇
- 2023中?!督馄蕦W(xué)基礎(chǔ)》題庫(kù)202311593753185
評(píng)論
0/150
提交評(píng)論