MATLAB在微積分中的應(yīng)用_第1頁
MATLAB在微積分中的應(yīng)用_第2頁
MATLAB在微積分中的應(yīng)用_第3頁
MATLAB在微積分中的應(yīng)用_第4頁
MATLAB在微積分中的應(yīng)用_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MATLAB在微積分中的應(yīng)用§MATLAB入門 1.1 matlab的數(shù)值計算運(yùn)行MATLAB的可執(zhí)行文件,進(jìn)入Matlab工作窗口,在提示符“>>”后輸入算術(shù)表達(dá)式,按Enter鍵即可得到該表達(dá)式的值,就象在計算器中運(yùn)算一樣加、減、乘、除、乘方的算符依次為+、-、*、/、例1 計算的值解在Matlab工作區(qū)輸入命令:2+3*59,按Enter鍵,可得計算結(jié)果2+3*59ans = 5859377 MATLAB會將最近一次的運(yùn)算結(jié)果直接存入一變量ans,變量ans代表MATLAB運(yùn)算後的答案,并將其數(shù)值顯示到屏幕上也可以將計算結(jié)果賦值給一個自定義的變量,自定義變量應(yīng)遵循以

2、下命名規(guī)則:(1)MATLAB對變量名的大小寫是敏感的(2)變量的第一個字符必須為英文字母,而且不能超過31個字符(3)變量名可以包含下劃線、數(shù)字,但不能為空格符、標(biāo)點(diǎn)例2 計算的值,并將其賦值給變量a.解a=11.3*1.90.23+sin(1)a = 13.9391如果在上述的例子結(jié)尾加上”;”,則計算結(jié)果不會顯示在指令視窗上,要得知計算值只須鍵入該變量名即可MATLAB可以將計算結(jié)果以不同的精確度的數(shù)字格式顯示,我們可以在命令窗口的File 菜單下點(diǎn)擊preferences子菜單,在隨之打開的preferences對話框中,選取Command Window選項(xiàng),設(shè)置Numerical F

3、ormat參數(shù),或者直接在matlab工作區(qū)鍵入以下指令:format short (這是默認(rèn)的), format long等1.2 Matlab的數(shù)組運(yùn)算Matlab數(shù)組是Matlab進(jìn)行運(yùn)算的單元創(chuàng)建數(shù)組就像我們在紙上寫一個數(shù)組一樣,元素與元素用“,”號或空格進(jìn)行分隔,行與行用“;”號進(jìn)行分隔例 命令a=1 2 3 4 5 6建立一個行列的數(shù)組該命令與a=1,2,3,4,5,6是一樣的命令b=1 2 3;4 5 6建立一個行列的數(shù)組數(shù)組運(yùn)算的運(yùn)算符與數(shù)值運(yùn)算一樣例 a=1 1 1;2 2 2 (建立數(shù)組a)a = 1 1 1 2 2 2b=3 3 3;4 4 4 (建立數(shù)組b)b = 3

4、3 3 4 4 4a+b (求數(shù)組a與數(shù)組b的和)ans = 4 4 4 6 6 6a-b (求數(shù)組a與數(shù)組b的差)ans = -2 -2 -2 -2 -2 -2a+3 (數(shù)組a的每一個元素都加上)ans = 4 4 4 5 5 52*b (數(shù)組b的每一個元素都乘以)ans = 6 6 6 8 8 8兩個同類型數(shù)組的對應(yīng)元素相乘除的運(yùn)算符是“./”和“.*”例 a.*b (a的對應(yīng)元素與b的對應(yīng)元素相乘)ans = 3 3 3 8 8 8a./b (a的對應(yīng)元素除以b的對應(yīng)元素)ans = 0.33333333333333 0.33333333333333 0.33333333333333 0

5、.50000000000000 0.50000000000000 0.50000000000000運(yùn)算符“./”及“.*”應(yīng)與運(yùn)算符“/”及“*”相區(qū)別,a*b表示矩陣a與b的乘積,a/b表示矩陣a乘以矩陣b的逆矩陣?yán)? a=1 2;2 1 (建立矩陣a)a = 1 2 2 1b=1 3;0 1 (建立矩陣b)b = 1 3 0 1a*b (求矩陣a與矩陣b的乘積ab) ans = 1 5 2 7a/b (求矩陣a與矩陣b的逆矩陣的乘積)ans = 1 -1 2 -5運(yùn)算符“”表示方陣的冪,而運(yùn)算符“.”表示數(shù)組中每一個元素的冪例7 a2 (矩陣a的平方)ans = 5 4 4 5a.2 (矩

6、陣(數(shù)組)a的每一個元素的平方)ans = 1 4 4 11.3 Matlab的符號運(yùn)算matlab可以進(jìn)行符號運(yùn)算,需要預(yù)先定義符號變量使用指令sym或syms定義符號變量例8 a=sym(x) (將符號變量x賦值給變量a)a =x sin(a)/cos(a) (符號表達(dá)式sin(a)/cos(a)ans =sin(x)/cos(x)syms x y (定義符號變量x和y)b=(x+y)2-4*x*y (將符號表達(dá)式賦值給變量b)b=(x+y)2-4*x*ya+b (求變量a與b的和)ans =x+(x+y)2-4*x*y1.4 Matlab 的數(shù)學(xué)常數(shù)和函數(shù)Matlab常用數(shù)學(xué)函數(shù)如下表:

7、名稱含義名稱含義名稱含義sin正弦sec正割asinh反雙曲正弦cos余弦csc余割acosh反雙曲余弦tan正切asec反正割atanh反雙曲正切cot余切acsc反余割acoth反雙曲余切asin反正弦sinh雙曲正弦abs絕對值acos反余弦cosh雙曲余弦sqrt平方根atan反正切tanh雙曲正切expe為底的指數(shù)acot反余切coth雙曲余切l(wèi)og自然對數(shù)Matlab數(shù)學(xué)常數(shù)如下:pi 數(shù)學(xué)常數(shù)inf 無窮大eps 最小的浮點(diǎn)數(shù)§2 MATLAB繪制一元函數(shù)的圖形2.1 常用命令matlab繪圖命令比較多,我們選編一些常用命令,并簡單說明其作用,這些命令的調(diào)用格式,可參閱

8、例題及使用幫助help查找.表 二維繪圖函數(shù)bar條形圖hist直方圖plot簡單的線性圖形polar極坐標(biāo)圖形表2 基本線型和顏色 符號 顏色 符號 線型y黃色.點(diǎn)m紫紅0圓圈c青色xx標(biāo)記r紅色+加號g綠色*星號b蘭色-實(shí)線w白色:點(diǎn)線k黑色-.點(diǎn)劃線-虛線表3 二維繪圖工具grid放置格柵gtext用鼠標(biāo)放置文本hold保持當(dāng)前圖形text在給定位置放置文本title放置圖標(biāo)題xlabel放置x軸標(biāo)題ylabel放置y軸標(biāo)題zoom縮放圖形 表4 axis命令axis(x1,x2,y1,y2)設(shè)置坐標(biāo)軸范圍axis square當(dāng)前圖形設(shè)置為方形axis equal坐標(biāo)軸的長度單位設(shè)成相

9、等axis normal關(guān)閉axis equal和axis squareaxis off關(guān)閉軸標(biāo)記、格柵和單位標(biāo)志axis on顯示軸標(biāo)記、格柵和單位標(biāo)志 linspace 創(chuàng)建數(shù)組命令,調(diào)用格式為: x=linspace(x1,x2,n),創(chuàng)建了x1到x2之間有n個數(shù)據(jù)的數(shù)組.funtool 函數(shù)工具,在matlab指令窗鍵入funtool可打開“函數(shù)計算器”圖形用戶界面.2.2 繪制函數(shù)圖形舉例 例1 畫出的圖形. 解 首先建立點(diǎn)的坐標(biāo),然后用plot命令將這些點(diǎn)繪出并用直線連接起來,采用中學(xué)五點(diǎn)作圖法,選取五點(diǎn)、.輸入命令 x=0,pi/2,pi,3*pi/2,2*pi;y=sin(x)

10、;plot(x,y) 這里分號表示該命令執(zhí)行結(jié)果不顯示.從圖上看,這是一條折線,與我們熟知的正弦曲線誤差較大,這是由于點(diǎn)選取的太少的緣故??梢韵胂?隨點(diǎn)數(shù)增加,圖形越來越接近的圖象.例如,在0到之間取30個數(shù)據(jù)點(diǎn),繪出的圖形與的圖象已經(jīng)非常接近了. x=linspace(0,2*pi,30);y=sin(x);plot(x,y).也可以如下建立該圖形. x=0:0.1:2*pi;y=sin(x);plot(x,y)還可以給圖形加標(biāo)記、格柵線. x=0:0.1:2*pi; y=sin(x); plot(x,y,r) title(正弦曲線) xlabel(自變量 x) ylabel(函數(shù)y=sin

11、x) text(5.5,0,y=sinx) grid 上述命令第三行選擇了紅色虛線,第四行給圖加標(biāo)題“正弦曲線”,第五行給軸加標(biāo)題“自變量”,第六行給軸加標(biāo)題“函數(shù)”,第七行在點(diǎn)處放置文本“”,第八行給圖形加格柵線.例2 畫出和的圖象.解 輸入命令 x=-4:0.1:4;y1=2.x;y2=(1/2).x;plot(x,y1,x,y2); axis(-4,4,0,8) matlab允許在一個圖形中畫多條曲線.plot(x1,y1,x2,y2,x3,y3)指令繪制等多條曲線.matlab自動給這些曲線以不同顏色. 例3 畫出的圖象. 解 輸入命令 從圖上看,是有界函數(shù),是其水平漸近線. 例4 在

12、同一坐標(biāo)系中畫出的圖象. 解 輸入命令 x=-pi/2:0.1:pi/2;y1=sin(x);y2=tan(x); plot(x,x,x,y1,x,y2) axis equal axis(-pi/2,pi/2,-3,3) grid從圖上看,當(dāng)時,當(dāng)時,是和在原點(diǎn)的切線,因此,當(dāng)時,. 例5 畫出及的圖形. 解 輸入命令 x1=-1:0.1:2;y1=10.x1-1;x2=-0.99:0.1:2;y2=log10(x2+1); plot(x1,y1,x2,y2)從圖上看,這兩條曲線與我們所知的圖象相差很遠(yuǎn),這是因?yàn)樽鴺?biāo)軸長度單位不一樣的緣故.與互為反函數(shù),圖象關(guān)于對稱,為更清楚看出這一點(diǎn),我們再

13、畫出的圖象. hold on x=-1:0.01:2;y=x;plot(x,y,r) axis(-1,2,-1,2) axis square;hold offplot語句清除當(dāng)前圖形并繪出新圖形,hold on語句保持當(dāng)前圖形. 例6 畫出心形線的圖象. 解 輸入命令 x=-2*pi:0.1:2*pi;r=3*(1+cos(x);polar(x,r) 例7 畫出星形線的圖象. 解 這是參數(shù)方程,可化為極坐標(biāo)方程. 輸入命令 x=0:0.01:2*pi; r=3./(cos(x).2).(1/3)+(sin(x).2).(1/3).(3/2); polar(x,r)注意,如果建立與的關(guān)系,此時只

14、是參數(shù),不是極坐標(biāo)系下的極角.練習(xí)1.畫出的圖象.2.畫出在之間的圖象.3.在同一坐標(biāo)系中畫出,的圖象.4.畫出的圖象,并根據(jù)圖象特點(diǎn)指出函數(shù)的奇偶性.5.畫出及其反函數(shù)的圖象.6.畫出及其反函數(shù)的圖象.§3 利用MATLAB求一元函數(shù)的極限3.1 常用命令 matlab求極限命令可列表如下:數(shù)學(xué)運(yùn)算matlab命令limit(f)limit(f,x,a)或limit(f,a)limit(f,x,a,left)limit(f,x,a,right) matlab代數(shù)方程求解命令solve調(diào)用格式. solve(函數(shù)) 給出的根.3.2 理解極限概念 數(shù)列收斂或有極限是指當(dāng)無限增大時,與

15、某常數(shù)無限接近或趨向于某一定值,就圖形而言,也就是其點(diǎn)列以某一平行與軸的直線為漸近線. 例1 觀察數(shù)列當(dāng)時的變化趨勢.解 輸入命令 n=1:100;xn=n./(n+1)得到該數(shù)列的前100項(xiàng),從這前100項(xiàng)看出,隨的增大,與1非常接近,畫出的圖形. stem(n,xn)或 for i=1:100; plot(n(i),xn(i),r) hold on end其中for end語句是循環(huán)語句,循環(huán)體內(nèi)的語句被執(zhí)行100次,n(i)表示n的第i個分量.由圖可看出,隨的增大,點(diǎn)列與直線無限接近,因此可得結(jié)論 =1.對函數(shù)的極限概念,也可用上述方法理解. 例2 分析函數(shù),當(dāng)時的變化趨勢. 解 畫出函

16、數(shù)在上的圖形. x=-1:0.01:1;y=x.*sin(1./x);plot(x,y)從圖上看,隨著的減小,振幅越來越小趨近于0,頻率越來越高作無限次振蕩.作出的圖象. hold on;plot(x,x,x,-x) 例3 分析函數(shù)當(dāng)時的變化趨勢.解 輸入命令 x=-1:0.01:1;y=sin(1./x);plot(x,y) 從圖上看,當(dāng)時,在-1和1之間無限次振蕩,極限不存在.仔細(xì)觀察該圖象,發(fā)現(xiàn)圖象的某些峰值不是1和-1,而我們知道正弦曲線的峰值是1和-1,這是由于自變量的數(shù)據(jù)點(diǎn)選取未必使取到1和-1的緣故,讀者可試增加數(shù)據(jù)點(diǎn),比較它們的結(jié)果. 例4 考察函數(shù)當(dāng)時的變化趨勢. 解 輸入命

17、令 x=linspace(-2*pi,2*pi,100);y=sin(x)./x;plot(x,y)從圖上看,在附近連續(xù)變化,其值與1無限接近,可見 =1. 例5 考察當(dāng)時的變化趨勢.解 輸入命令 x=1:20:1000;y=(1+1./x).x;plot(x,y)從圖上看,當(dāng)時,函數(shù)值與某常數(shù)無限接近,我們知道,這個常數(shù)就是. 3.3 求函數(shù)極限 例6 求. 解 輸入命令 syms x;f=1/(x+1)-3/(x3+1);limit(f,x,-1)得結(jié)果ans=-1.畫出函數(shù)圖形. ezplot(f);hold on;plot(-1,-1,r.) 例7 求. 解 輸入命令 limit(ta

18、n(x)-sin(x)/x3)得結(jié)果 ans=1/2 例8 求. 解 輸入命令 limit(x+1)/(x-1)x,inf)得結(jié)果 ans=exp(2) 例9 求. 解 輸入命令 limit(xx,x,0,right)得結(jié)果 ans =1 例10 求. 解 輸入命令 limit(cot(x)(1/log(x),x,0,right)得結(jié)果 ans=exp(-1).3.4 求方程的解 例11 解方程. 解 輸入命令 syms a b c x;f=a*x2+b*x+c;solve(f)得結(jié)果 ans= 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/

19、2) 如果不指明自變量,系統(tǒng)默認(rèn)為,也可指定自變量,比如指定為自變量. solve(f,b)得結(jié)果 ans=-(a*x2+c)/x. 例12 解方程. 解 輸入命令 f=x5-5*x-1;solve(f)得結(jié)果 ans= -1.4405003973415600893186320629653 -.20006410262997539129073370075959 .49456407933505360591791681140791e-1 -1.4994413672391491358223492788056*i .49456407933505360591791681140791e-1 +1.49944

20、13672391491358223492788056*i 1.5416516841045247594257824014433畫出圖象 ezplot(f,-2,2);hold on;plot(-2,2,0,0)練習(xí)1.計算下列函數(shù)的極限. (1). (2). (3). (4).2.解方程.3.解方程.4.解方程.(、為實(shí)數(shù))§4 導(dǎo)數(shù)的計算 4.1 常用命令建立符號變量命令sym和syms調(diào)用格式 x=sym(x), 建立符號變量x; syms x y z , 建立多個符號變量x,y,z; matlab求導(dǎo)命令diff調(diào)用格式 diff(函數(shù)) , 求的一階導(dǎo)數(shù); diff(函數(shù), n

21、) , 求的n階導(dǎo)數(shù)(n是具體整數(shù)) 4.2 導(dǎo)數(shù)一般概念導(dǎo)數(shù)是函數(shù)的變化率,幾何意義是曲線在一點(diǎn)處的切線斜率. (1) 導(dǎo)數(shù)是一個極限值 例1 設(shè),用定義計算. 解 在某一點(diǎn)的導(dǎo)數(shù)定義為極限: 我們記,輸入命令: syms h;limit(exp(0+h)-exp(0)/h,h,0)得結(jié)果:ans=1.可知 (2) 導(dǎo)數(shù)的幾何意義是曲線的切線斜率 例2 畫出在處()的切線及若干條割線,觀察割線的變化趨勢. 解 在曲線上另取一點(diǎn),則的方程是: .即 取,分別作出幾條割線. h=3,2,1,0.1,0.01;a=(exp(h)-1)./h;x=-1:0.1:3; plot(x,exp(x),r)

22、;hold on for i=1:5; plot(h(i),exp(h(i),r.) plot(x,a(i)*x+1) end axis square 作出在處的切線 plot(x,x+1,r)從圖上看,隨著與越來越接近,割線越來越接近曲線的割線. 4.3 求一元函數(shù)的導(dǎo)數(shù) (1)的一階導(dǎo)數(shù) 例3 求的導(dǎo)數(shù). 解 打開matlab指令窗,輸入指令dy_dx=diff(sin(x)/x).得結(jié)果dy_dx=cos(x)/x-sin(x)/x2. matlab的函數(shù)名允許使用字母、空格、下劃線及數(shù)字,不允許使用其他字符,在這里我們用dy_dx表示. 例4 求的導(dǎo)數(shù). 解 輸入命令dy_dx=dif

23、f(log(sin(x).得結(jié)果dy_dx=cos(x)/sin(x).在matlab中,函數(shù)用log(x)表示,而log10(x)表示. 例5 求的導(dǎo)數(shù). 解 輸入命令 dy_dx=diff(x2+2*x)20).得結(jié)果dy_dx=20*(x2+2*x)19*(2*x+2). 注意輸入時應(yīng)為2*x. 例6 求的導(dǎo)數(shù). 解 輸入命令 dy_dx=diff(xx).得結(jié)果dy_dx =xx*(log(x)+1).利用matlab 命令diff一次可以求出若干個函數(shù)的導(dǎo)數(shù). 例7 求下列函數(shù)的導(dǎo)數(shù): , , , . 解 輸入命令 a=diff(sqrt(x2- 2*x+5),cos(x2)+2*c

24、os(2*x),4(sin(x),log(log(x).得結(jié)果 a= 1/2/(x2-2*x+5)(1/2)*(2*x-2),-2*sin(x2)*x-4*sin(2*x), 4sin(x)*cos(x)*log(4), 1/x/log(x). dy1_dx=a(1). dy1_dx=1/2/(x2-2*x+5)(1/2)*(2*x-2). dy2_dx=a(2). dy2_dx=-2*sin(x2)*x-4*sin(2*x). dy3_dx=a(3). dy3_dx=4sin(x)*cos(x)*log(4). dy4_dx=a(4). dy4_dx=1/x/log(x). 由本例可以看出,

25、matlab函數(shù)是對矩陣或向量進(jìn)行操作的,a(i)表示向量a的第i個分量. (2) 參數(shù)方程所確定的函數(shù)的導(dǎo)數(shù)設(shè)參數(shù)方程確定函數(shù),則的導(dǎo)數(shù). 例8設(shè),求.解 輸入命令 dx_dt=diff(a*(t-sin(t);dy_dt=diff(a*(1-cos(t); dy_dx=dy_dt/dx_dt.得結(jié)果dy_dx=sin(t)/(1-cos(t).其中分號的作用是不顯示結(jié)果. 4.4 求高階導(dǎo)數(shù) 例9設(shè) ,求.解輸入命令 diff(x2*exp(2*x),x,20).得結(jié)果 ans = 99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x2*exp(2

26、*x)練習(xí) 1.求下列函數(shù)的導(dǎo)數(shù):(1) ; (2);(3) ; (4)2.求下列參數(shù)方程所確定的函數(shù)的導(dǎo)數(shù): (1) ; (2).設(shè),求.驗(yàn)證滿足關(guān)系式:§5 matlab自定義函數(shù)與導(dǎo)數(shù)應(yīng)用 函數(shù)關(guān)系是指變量之間的對應(yīng)法則,這種對應(yīng)法則需要我們告訴計算機(jī),這樣,當(dāng)我們輸入自變量時,計算機(jī)才會給出函數(shù)值,matlab軟件包含了大量的函數(shù),比如常用的正弦、余弦函數(shù)等.matlab允許用戶自定義函數(shù),即允許用戶將自己的新函數(shù)加到已存在的matlab函數(shù)庫中,顯然這為matlab提供了擴(kuò)展的功能,無庸置疑,這也正是matlab的精髓所在.因?yàn)閙atlab的強(qiáng)大功能就源于這種為解決用戶特殊

27、問題的需要而創(chuàng)建新函數(shù)的能力.matlab自定義函數(shù)是一個指令集合,第一行必須以單詞function作為引導(dǎo)詞,存為具有擴(kuò)展名“.m”的文件,故稱之為函數(shù)M-文件.5.1 函數(shù)M-文件的定義格式函數(shù)M-文件的定義格式為:function 輸出參數(shù)=函數(shù)名(輸入?yún)?shù))函數(shù)體函數(shù)體一旦函數(shù)被定義,就必須將其存為M-文件,以便今后可隨時調(diào)用.比如我們希望建立函數(shù),在matlab工作區(qū)中輸入命令: syms x;y=x2+2*x+1;不能建立函數(shù)關(guān)系,只建立了一個變量名為y的符號表達(dá)式,當(dāng)我們調(diào)用y時,將返回這一表達(dá)式. y y=x2+2*x+1當(dāng)給出x的值時,matlab不能給出相應(yīng)的函數(shù)值來. x

28、=3;y y=x2+2*x+1如果我們先給x賦值. x=3;y=x2+2*x+1得結(jié)果:y=16若希望得出的值,輸入: x=2;y得結(jié)果:y=16,不是時的值.讀者從這里已經(jīng)領(lǐng)悟到在matlab工作區(qū)中輸入命令:y=x2+2*x+1不能建立函數(shù)關(guān)系,如何建立函數(shù)關(guān)系呢?我們可以點(diǎn)選菜單FillNewM-fill打開matlab文本編輯器,輸入: function y=f1(x) y=x2+2*x+1;存為f1.m.調(diào)用該函數(shù)時,輸入: syms x;y=f1(x)得結(jié)果:y= x2+2*x+1.輸入: y1=f1(3)得結(jié)果:y1=16matlab求最小值命令fmin調(diào)用格式:fmin(fun

29、,a,b) 給出在上的最小值點(diǎn). 5.2 自定義函數(shù)例1建立正態(tài)分布的密度函數(shù)解打開文本編輯器,輸入 function y=zhengtai(x,a,b) y=1/sqrt(2*pi)/a*exp(-(x-b).2/2/a2);存為zhengtai.m.調(diào)用時可輸入命令 y=zhengtai(1,1,0)得結(jié)果y=0.2420.此即的值.如果想畫出標(biāo)準(zhǔn)正態(tài)分布的密度函數(shù)的圖象,輸入 ezplot(zhengtai(x,1,0)例2解一元二次方程.解我們希望當(dāng)輸入的值時,計算機(jī)能給出方程的兩個根.在文本編輯器中建立名為rootquad.m的文件. function x1,x2=rootquad(

30、a,b,c) d=b*b-4*a*c; x1=(-b+sqrt(d)/(2*a) x2=(-b-sqrt(d)/(2*a)比如求方程的根,可用語句 r1,r2=rootquad(2,3,-7),得結(jié)果r1=1.2656 r2=-2.76565.3 驗(yàn)證羅必塔法則羅必塔法則是指在求及的極限時,可用導(dǎo)數(shù)之比的極限來計算(如果導(dǎo)數(shù)之比的極限存在或) 例3以為例驗(yàn)證羅必塔法則.解這是型極限f=ax-bx;g=x;L=limit(f/g,x,0)得結(jié)果:L=log(a)-log(b) df=diff(f,x);dg=diff(g,x);L1=limit(df/dg,x,0)得結(jié)果:L1=log(a)-l

31、og(b)從結(jié)果看出L=L1,即= 5.4 函數(shù)的單調(diào)性與極值 例4求函數(shù)的單調(diào)區(qū)間與極值.解求可導(dǎo)函數(shù)的單調(diào)區(qū)間與極值,就是求導(dǎo)函數(shù)的正負(fù)區(qū)間與正負(fù)區(qū)間的分界點(diǎn),利用matlab解決該問題,我們可以先求出導(dǎo)函數(shù)的零點(diǎn),再畫出函數(shù)圖象,根據(jù)圖象可以直觀看出函數(shù)的單調(diào)區(qū)間與極值.輸入命令 f=x3-6*x2+9*x+3;df=diff(f,x);s=solve(df),得結(jié)果ans=1,3,畫出函數(shù)圖象. ezplot(f,0,4)從圖上看,的單調(diào)增區(qū)間為、,單調(diào)減區(qū)間是,極大值,極小值.我們可以建立一個名為dandiao.m的M文件,用來求求函數(shù)的單調(diào)區(qū)間. disp(輸入函數(shù)(自變量為x)

32、syms x f=input('函數(shù)f(x)=') df=diff(f); s=solve(df) a=; for i=1:size(s); a(i)=s(i); end ezplot(f,min(a)-1,max(a)+1)要求函數(shù)的單調(diào)區(qū)間與極值,可調(diào)用dandiao.m.輸入 dandiao在matlab工作區(qū)出現(xiàn)以下提示 輸入函數(shù)(自變量為x) 函數(shù)f(x)=在光標(biāo)處輸入:x-log(1+x),可得結(jié)果s=0.從圖上看,的單調(diào)增區(qū)間為,單調(diào)減區(qū)間是,極小值. 5.5 函數(shù)的最值 調(diào)用求函數(shù)最小值命令fmin時,可得出函數(shù)的最小值點(diǎn),為求最小值,必須建立函數(shù)M文件. 例5

33、求函數(shù)在區(qū)間上的最小值. 解我們可以建立一個名為f.m的函數(shù)M-文件. function y=f(x) y=(x-3).2-1;并且調(diào)用fmin x=fmin(f,0,5)得:x=3,在最小值點(diǎn)處的值(函數(shù)最小值)是.求最大值時可用x=fmin(-f(x),a,b)練習(xí)1.建立函數(shù),當(dāng)為何值時,該函數(shù)在處取得極值,它是極大值還是極小值,并求此極值.2.確定下列函數(shù)的單調(diào)區(qū)間: (1) ; (2);(3) ; (4)3.求下列函數(shù)的最大值、最小值: (1),;(2)§6 一元函數(shù)積分的計算 6.1 常用命令matlab積分命令int調(diào)用格式: int(函數(shù)) 計算不定積分; int(函

34、數(shù),變量名) 計算不定積分; int(函數(shù)) 計算定積分;int(函數(shù)變量名) 計算定積分6.2 計算不定積分 例1計算解輸入命令 int(x2*log(x) 可得結(jié)果 ans=1/3*x3*log(x)-1/9*x3注意設(shè)置符號變量. 例2計算下列不定積分: 1.; 2.; 3. 解首先建立函數(shù)向量. syms x syms a real y=sqrt(a2-x2),(x-1)/(3*x-1)(1/3),x2*asin(x);然后對y積分可得對y的每個分量積分的結(jié)果. int(y,x) ans = 1/2*x*(a2-x2)(1/2)+1/2*a2*asin(1/a2)(1/2)*x), -

35、1/3*(3*x-1)(2/3)+1/15*(3*x-1)(5/3), 1/3*x3*asin(x)+1/9*x2*(1-x2)(1/2)+2/9*(1-x2)(1/2) 6.3 求和運(yùn)算 sum(x),給出向量x的各個元素的累加和,如果x是矩陣,則sum(x)是一個元素為x的每列列和的行向量. 例1 x=1,2,3,4,5,6,7,8,9,10; sum(x) ans=55 例2 x=1,2,3;4,5,6;7,8,9 x= 1 2 3 4 5 6 7 8 9 sum(x) ans=12 15 18 符號表達(dá)式求和命令symsum調(diào)用格式. symsum(s,n), 求 symsum(s,k

36、,m,n),求當(dāng)x的元素很有規(guī)律,比如為表達(dá)式是的數(shù)列時,可用symsum求得x的各項(xiàng)和,即 symsum= symsum 例3 syms k n symsum(k,1,10) ans=55 symsum(k2,k,1,n) ans=1/3*(n+1)3-1/2*(n+1)2+1/6*n+1/6 matlab求定積分命令int調(diào)用格式 int(函數(shù)) , 計算定積分; int(函數(shù)變量名) , 計算定積分 6.4 定積分的概念 定積分是一個和的極限.取,積分區(qū)間為,等距劃分為20個子區(qū)間. x=linspace(0,1,21); 選取每個子區(qū)間的端點(diǎn),并計算端點(diǎn)處的函數(shù)值. y=exp(x);

37、取區(qū)間的左端點(diǎn)乘以區(qū)間長度全部加起來. y1=y(1:20);s1=sum(y1)/20 s1=1.6757s1可作為的近似值.若選取右端點(diǎn) y2=y(2:21);s2=sum(y2)/20 s2=1.7616s2也可以作為的近似值.下面我們畫出圖象. plot(x,y);hold on for i=1:20 fill(x(i),x(i+1),x(i+1),x(i),x(i),0,0,y(i),y(i),0,b) end如果選取右端點(diǎn),則可畫出圖象. for i=1:20; fill(x(i),x(i+1),x(i+1),x(i),x(i),0,0,y(i+1),y(i+1),0,b) hol

38、d on end plot(x,y,r) 在上邊的語句中,for end是循環(huán)語句,執(zhí)行語句體內(nèi)的命令20次,fill命令可以填充多邊形,在本例中,用的是蘭色(blue)填充.從圖上看,當(dāng)分點(diǎn)逐漸增多時,的值越來越小,讀者可試取50個子區(qū)間看一看結(jié)果怎樣.下面按等分區(qū)間計算 syms k n s=symsum(exp(k/n)/n,k,1,n); limit(s,n,inf)得結(jié)果 ans=exp(1)-1 6.5 計算定積分和廣義積分 例4 計算.解 輸入命令:int(exp(x),0,1)得結(jié)果ans=exp(1)-1.這與我們上面的運(yùn)算結(jié)果是一致的. 例 計算解 輸入命令 int(abs

39、(x-1),0,2)得結(jié)果ans =1.本例用mathematica軟件不能直接求解. 例 判別廣義積分、與的斂散性,收斂時計算積分值. 解 對第一個積分輸入命令 syms p real;int(1/xp,x,1,inf)得結(jié)果ans =limit(-1/(p-1)*x(-p+1)+1/(p-1),x = inf).由結(jié)果看出當(dāng)時,x(-p+1)為無窮,當(dāng)時,ans=1/(p-1),這與課本例題是一致的. 對第二個積分輸入命令 int(1/(2*pi)(1/2)*exp(-x2/2),-inf,inf)得結(jié)果: ans=7186705221432913/18014398509481984*2(

40、1/2)*pi(1/2)由輸出結(jié)果看出這兩個積分收斂.對后一個積分輸入命令 int(1/(1-x)2,0,2)結(jié)果得ans=inf.說明這個積分是無窮大不收斂. 例 求積分解 輸入命令:int(sin(x)/x,0,t),可得結(jié)果sinint(t),通過查幫助(help sinint)可知sinint(t)=,結(jié)果相當(dāng)于沒求!實(shí)際上matlab求出的只是形式上的結(jié)果,因?yàn)檫@類積分無法用初等函數(shù)或其值來表示.盡管如此,我們可以得到該函數(shù)的函數(shù)值.輸入vpa(sinint(0.5)可得sinint(0.5)的值.練習(xí)1.計算下列不定積分:(1); (2) ; (3) ;(4); (5) ; (6)

41、2.計算下列定積分: (1) ; (2); (3) ; (4)3.求并用diff對結(jié)果求導(dǎo).4.求擺線的一拱()與軸所圍成的圖形的面積.§7 常微分方程 7.1 常用命令 matlab求解微分方程命令dsolve,調(diào)用格式為: dsolve(微分方程)給出微分方程的解析解,表示為t的函數(shù); dsolve(微分方程,初始條件)給出微分方程初值問題的解,表示為t的函數(shù); dsolve(微分方程,變量x)給出微分方程的解析解,表示為x的函數(shù); dsolve(微分方程,初始條件,變量x)給出微分方程初值問題的解,表示為x的函數(shù). 7.2 求解一階微分方程 微分方程在輸入時,應(yīng)輸入Dy,應(yīng)輸入

42、D2y等,D應(yīng)大寫例 求微分方程的通解解 輸入命令 dsolve('Dy+2*x*y=x*exp(-x2)') 結(jié)果為 ans = 1/2*(1+2*exp(-2*x*t)*C1*exp(x2)/exp(x2) 系統(tǒng)默認(rèn)的自變量是t,顯然系統(tǒng)把x當(dāng)作常數(shù),把y當(dāng)作t的函數(shù)求解輸入命令 dsolve('Dy+2*x*y=x*exp(-x2)','x') 得正確結(jié)果 ans = 1/2*(x2+2*C1)/exp(x2) 例 求微分方程在初始條件下的特解解 輸入命令 dsolve('x*Dy+y-exp(x)=0','y(1)

43、=2*exp(1)','x') 得結(jié)果為 ans = 1/x*(exp(x)+exp(1) 例 求微分方程在初始條件下的特解解 輸入命令 dsolve('(x2-1)*Dy+2*x*y-cos(x)=0','y(0)=1','x') 得結(jié)果為 ans =1/(x2-1)*(sin(x)-1) 7.3 求解二階微分方程例 求的通解解 輸入命令 dsolve('D2y+3*Dy+exp(x)=0','x') 得結(jié)果 ans =-1/4*exp(x)+C1+C2*exp(-3*x) 例 求解微分方

44、程解輸入命令 dsolve('D2y-exp(2*y)*Dy=0','x') 得結(jié)果 ans = 1/2*log(-2*C1/(-1+exp(2*x*C1+2*C2*C1)+x*C1+C2*C1 練習(xí)求下列微分方程的通解:1 ; 2;3 ; 4;5 ; 6;7;8 §8 空間圖形的繪制atlab繪制空間曲線的命令為plot3,調(diào)用格式繪制平面曲線的命令plot類似。例1 畫出螺旋線,的圖形解 輸入命令t=linspace(0,4*pi,300);x=2*cos(3*t);y=2*sin(3*t);z=1.5*t;plot3(x,y,z)結(jié)果如圖所示例畫出圓錐螺線,的圖形解輸入命令t=linspace(0,4*pi,300);x=t.*cos(3*t);y=t.*sin(3*t);z=1.5*t;plot3(x,y,z)結(jié)果如圖所示。Matlab繪制

溫馨提示

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

評論

0/150

提交評論