1. 程式人生 > >mathematica的學習及應用題目(二)——函式使用方法提升

mathematica的學習及應用題目(二)——函式使用方法提升

題目

1、應用Mathematica完成下列題目的運算求解或繪圖

(1)求解方程ax2+bx+c=0

(2)求解方程x3+5x+6=0

(3)求解方程x2-3x+2=0

(4)求解方程3cosx=lnx

(5)解方程組 

(6)從方程組        中消去未知數y,z。

(7)求極限  

(8)畫出極限    的數列散點圖,觀察變化趨勢是否與極限符合。

(9)求極限 

(10)求極限

(11)求極限

(12)求y=exsinx的導數和二階導數。

(13)求f(x)=x5+e2x的1階到5階導數。

(14)求由方程2x2+xy+ey=0所確定的隱函式y關於x的導數。

(15)設   求y 關於x的導數。

(16)求函式 的微分。

(17)已知函式f(x,y)=x3+y4+exy,求 以及函式的全微分。

(18)求積分 

(19)計算定積分 

(20)計算反常積分 

(21)計算定積分 

(22)計算二重積分 

(23)計算三重積分 

(24)計算

(25)計算

(26)計算

(27)求函式f(x)=sinx的7次麥克勞林展開式。

2、一元和多元方程的趣味建模求解

(1)蕩杯問題

《孫子算經》中,卷下第十七問,有一個著名的“蕩杯問題”,曰:“今有婦人河上蕩杯。津吏問曰:‘杯何以多?’婦人曰:‘有客。’津吏曰:‘客幾何?’婦人曰:‘二人共飯,三人共羹,四人共肉,凡用杯六十五。不知客幾何?”這裡說的故事是一個婦人在河裡蕩杯(洗滌杯碗),掌管橋樑的官吏(津吏)就問她為何要洗這麼多杯碗,來了多少客人?婦人就回答,兩個人共用一個飯碗,三個人共用一個湯碗,四個人共用一個肉碗,一共用了六十五個碗,你說來了多少客人?(提示:一元方程的建模)

(2)湊零為整

手邊有標準的貨幣1元、5元、10元,如何支付19元?有多少種方式可以實現支付?(提示:多元方程的建模)

(3)“雞兔同籠”的問題

在《孫子算經》中,有一個著名的“雞兔同籠”問題,曰:“今有雉、兔同籠,上有三十五頭,下有九十四足。問:雉、兔各幾何?”給出的答案是:“雉二十三,兔一十二。”計算的方法是,術曰:“上置三十五頭,下置九十四足。半其足,得四十七,以少減多,再命之,上三除下三,上五除下五,下有一除上一,下有二除上二,即得。又術曰:上置頭,下置足,半其足,以頭除足,以足除頭,即得。”這一段文字,比較晦澀難懂,如果我們用方程組來求解,在Mathematica中,只用寫一條語句,即可得到答案。請思考求解。(提示:建立聯立方程組求解)

(4)“韓信點兵”的問題

在歷史上,流傳有一個韓信點兵的典故,是說大將韓信有次帶兵打仗,出征有1500名士兵,戰死大約有四五百人,戰後清點人數,韓信用的方法是,讓士兵站成佇列,就得到總人數。3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人;韓信很快就知道現有士兵總數是1049人。韓信是怎麼計算的呢?這裡要用到一些數學知識。但是在Mathematica中,同樣可以用很簡便方法的方法求解“韓信點兵”。請思考求解。(提示:建立聯立方程組求解)

求解過程

(一)應用Mathematica完成下列題目的運算求解或繪圖

1、第一題:

在新建立的文件Q1中,首先使用Solve命令求解題目給出的方程,得到求解結果如下圖2所示:

圖 2 Solve求解過程

同時,根據講義要求,嘗試運用Reduce 函式得出各種情況下的可能性,如圖3所示:

圖 3 使用Reduce函式

2、第二題

建立新筆記本Q2,首先運用Solve函式對x3+5x+6=0進行求解,求解得到如圖4所示:

圖 4 Solve求解過程

同時,根據講義要求,嘗試運用Nsolve函式,得出n次方程的數值解集,如圖5所示:

圖 5 NSolve求解過程

3、第三題

建立新筆記本Q3,首先運用Sovle函式對方程x2-3x+2=0求解,求解得到如圖6所示:

圖 6 Solve求解過程

同時,根據講義要求,嘗試運用Roots函式,得出n次方程的另一種解的形式,如圖5所示:

圖 7 Roots函式求解

4、第四題

建立新筆記本Q4,首先利用實驗二中已經使用過的Plot函式在同一座標系中畫出3cosx和lnx的圖形如下圖8所示:

圖 8 Plot繪製圖形

畫出圖形後,在圖形中分別找出交點分別為1,5,7,11,13,20,19附近,這裡選擇FindRoot命令分別求得方程的近似根,得到結果如圖9所示:

圖 9 FindRoot命令分別求解

5、第五題

建立新筆記本Q5,通過Solve[{方程1,方程2,…},{未知數1,未知數 2,…}]求解題目中的方程組,得到結果如圖10所示:

圖 10 方程組求解

6、第六題

建立新筆記本Q6,利用Eliminate函式消除方成組中的兩個函式y、z,得到結果如圖11所示:

圖 11 消除未知數

7、第七題

建立新筆記本Q7,使用Limit函式求極限,其具體格式為Limit[函式,自變數->極限點,Direction->方向],求解本題得到結果如圖12所示:

圖 12 Limit函式使用

8、第八題

建立新筆記本Q8,使用ListPlot函式繪製數列散點圖,同時使用相應附加項得到結果如圖13所示:

圖 13 散點圖的繪製

9、第九題

建立新筆記本Q9,使用命令Limit求得題目解如圖14所示:

圖 14 極限求解

10、第十題

建立新筆記本Q10,使用命令Limit如下格式Limit[函式,自變數->極限點,Direction->方向],求得右極限如下圖15所示:

圖 15 右極限求解

11、第十一題

建立新筆記本Q11,同樣使用命令Limit,但此時是較為複雜的極限形式,求得結果如下圖15所示:

圖 16 複雜極限求解

12、第十二題

建立新筆記本Q12,使用求函式的導數的命令D[函式表示式,{自變數,n}],求函式對自變數的n階導數,結果如下圖17所示:

圖 17 n階求導

13、第十三題

建立新筆記本Q13,利用命令Table如下形式Table[通項,{k,m,n,d}]與D[]命令配合得到結果如下圖18所示:

圖 18 一次表達多個結果

14、第十四題

建立筆記本Q14,利用命令Solve同D[]配合求得隱函式導數如下圖19所示:

圖 19 隱函式導數求解

15、第十五題

建立筆記本Q15,依次寫出各個方程式,最後再用D[函式表示式,自變數],根據題目要求得出解,具體過程如下圖20所示:

圖 20 方程組導求解

16、第十六題

建立文件Q16,利用命令Dt[函式表示式],求函式的微分,求得結果如下圖21所示:

圖 21 函式微積分求解

17、第十七題

建立文件Q17,利用命令D[ ]和Dt[ ]配合,分別求的題目要求微分級全微分如下圖22所示:

圖 22 微分及全微分求解

18、第十八題

建立文件Q18,使用計算不定積分的命令Integrate[函式表示式,自變數]求得方程解如下圖23所示:

圖 23 不定積分求解

19、第十九提

建立文件Q19,使用不定積分命令如下形式Integrate[函式表示式,{自變數,積分下 限,積分上限}],得到結果如圖24所示:

圖 24 定積分求解

20、第二十題

建立文件Q20,同樣使用Integrate命令,通過積分上下限設定為正無窮和負無窮計算反常積分得到結果如下圖25所示:

圖 25 反常積分求解

21、第二十一題

建立文件Q21,在求的對數積分時,可以使用Integrate命令,也可以使用NIntegrate命令求得近似數值解,得到結果如下圖26所示:

圖 26 對數積分求解

22、第二十二題

建立文件Q22,通過Integrate[函式,{自變數1,積分下限 ,積分上限},{自變數2,積分下限,積分 上限}]形式使用該命令,得到結果如下圖27所示:

圖 27 二重積分求解

23、第二十三題

建立文件Q23,根據二重積分規則,推出三重積分時Integrate命令形式,求解得出如下圖28所示:

圖 28 三重積分求解

24、第二十四題

建立文件Q24,利用命令Sum[通項,{k,起始值,終止值}],分別求得無窮級數解如下圖29所示:

圖 29 無窮級數求解

25、第二十五題

建立文件Q25,利用命令Sum計算終止值為正無窮的無窮級數,得到結果如下圖30所示:

圖 30 無窮級數求解

26、第二十六題

建立文件Q26,同樣使用命令Sum求無窮級數,本體中的級數應用!表示,具體解題過程如下圖31所示:

圖 31 無窮級數求解

27、第二十七題

建立文件Q27,使用泰勒展開式命令Series[函式,{自變數,展開點,最高次數}],得到結果如下圖32所示:

圖 32 麥克勞次展開式求解

(二)一元和多元方程的趣味建模求解

1.蕩杯問題

由題目找到核心的語句“兩個人共用一個飯碗,三個人共用一個湯碗,四個人共用一個肉碗,一共用了六十五個碗”。通過這句話我們可以進行模型的建立。

由於求解的是人數,所以我們直接設一共有x個客人,所以飯碗的數量為x/2,湯碗的數量為x/3,肉碗的數量為x/4,這樣以來我們就可以通過建立一元方程求解,兩邊的以總人數為平衡:

x/2+x/3+x/4=65

建立文件Q28,使用Solve函式進行求解,具體的解題過程如下圖33所示:

圖 33 蕩杯問題的求解

綜上所述,由x=60可得,一共來了60個客人。

2.湊零為整

由題目找到核心的語句“1元、5元、10元,如何支付19元”。通過這句話我們可以進行模型的建立。

通過分析我們可以得出這個題目求解的是多種解決方案,因此可以建立多元方程,進行整數求解。

假設使用1元x張,5元y張,10元z張

在實際問題中考慮到變數的實際意義,所以應該進行範圍限制:

0≤x≤19,  0≤y<4,  0≤z<2

最後建立方程x+5y+10z=19(0≤x≤19,  0≤y<4,  0≤z<2且x,y,z為整數)

建立文件Q29,使用Solve函式進行求解,具體的解題過程如下圖34所示:

圖 34 湊零為整問題的求解

綜上所述,由x=60可得,一共有6種方案:

(1)1元的4張,5元的1張,10元的1張。

(2)1元的4張,5元的3張,10元的0張。

(3)1元的9張,5元的0張,10元的1張。

(4)1元的9張,5元的2張,10元的0張。

(5)1元的14張,5元的1張,10元的0張。

(6)1元的19張,5元的0張,10元的0張。

3.雞兔同籠問題

由題目找到核心的語句“上有三十五,下有九十四”。通過這句話我們可以進行模型的建立。

由於求解的是雞和兔的個數,所以我們直接設一共有x只雞,y只兔,雞和兔都只有一個頭,而雞有兩隻腳,兔有四隻腳,這樣以來我們就可以通過建立二元一次方程組求解:

x+y=35,2x+4y=94,該方程一定有唯一解。

建立文件Q30,使用Solve函式進行求解,具體的解題過程如下圖35所示:

圖 35 雞兔同籠問題的求解

綜上所述,雞有23只,兔有12只。

4.韓信點兵問題

由題目找到核心的語句“3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人”,“出征1500名士兵,戰死大約有四五百人”。通過這句話我們可以進行模型的建立。

這型別問題其實是盈虧問題,不難看出,在3種情況下,排列會有不同的多餘人數,我們可以利用這一點進行建模。通過審題可以得出,現在的總人數大概在1000~1100之間。

假設3人縱隊時,有3x+2人,5人縱隊時,有5x+4,7人縱隊時有7z+6人,且總人數為s,可以建立方程組:

3x+2=s,5x+4=s, 7z+6=s,1000≤ s ≤1100

x+y=35,2x+4y=94,該方程一定有唯一解。

建立文件Q31,使用Solve函式進行求解,具體的解題過程如下圖36所示:

圖 36 韓信點兵問題的求解

綜上所述,剩餘的士兵一共有1049人。