實驗二-一元函數(shù)微分學[146頁]課件_第1頁
實驗二-一元函數(shù)微分學[146頁]課件_第2頁
實驗二-一元函數(shù)微分學[146頁]課件_第3頁
實驗二-一元函數(shù)微分學[146頁]課件_第4頁
實驗二-一元函數(shù)微分學[146頁]課件_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗二 一元函數(shù)微分學一、實驗?zāi)康亩?、Matlab函數(shù)及命令 1、符號對象 5、極限計算 2、符號表達式的初等運算 6、導(dǎo)數(shù)計算 3、求解符號方程 7、函數(shù)的極值 4、符號函數(shù)繪圖 8、可視化數(shù)學分析界面三、實驗內(nèi)容一、實驗?zāi)康?、熟練掌握符號和符號表達式的創(chuàng)建方法,掌握Matlab的符號運算。2、通過圖形演示和計算,觀察極限過程,深刻理解 數(shù)列極限與函數(shù)極限、無窮大與無窮小、連續(xù)與 間斷、導(dǎo)數(shù)與微分等基本概念。3、掌握計算函數(shù)極限、導(dǎo)數(shù)(包括高階導(dǎo)數(shù)、隱函 數(shù)的導(dǎo)數(shù)、參數(shù)方程定義的函數(shù)的導(dǎo)數(shù))的方法。一、實驗?zāi)康?、利用函數(shù)圖形觀察和分析函數(shù)的幾何性態(tài),理解 函數(shù)的間斷點類型、單調(diào)性、凹凸性

2、、漸近線、 極值等概念,掌握Matlab計算上述問題的方法, 建立數(shù)形結(jié)合的思想。5、借助繪圖功能,理解微分中值定理和泰勒展開定 理,掌握利用Matlab求Tayler多項式的方法,直 觀理解泰勒多項式在函數(shù)逼近的意義。6、掌握利用Matlab求方程的根、函數(shù)極值的方法。 二、Matlab函數(shù)及命令2.1 符號對象 Matlab中的運算分為數(shù)值運算和符號運算。數(shù)值運算中必須先對變量賦值,然后才能參與運算。符號運算無須事先對獨立變量賦值,運算結(jié)果以標準的符號形式表達,可得到問題的解析解 。 符號對象(sym類型)是符號工具箱(Symbolic Math Toolbox)中定義的一種數(shù)據(jù)類型,用來

3、表示符號變量、符號表達式和符號矩陣,是進行符號運算的基本構(gòu)成單元。 2.1.1 創(chuàng)建符號對象 Matlab利用sym函數(shù)和syms函數(shù)創(chuàng)建符號常量、符號變量、符號函數(shù)和符號表達式,利用函數(shù)class()判斷操作對象的類型。函數(shù)syma=sym(s) 將數(shù)值對象s轉(zhuǎn)換為符號對象aa=sym(s) 將符號串s轉(zhuǎn)換為符號對象a s=1/2;%定義字符串s a=1/2%定義數(shù)值變量a b=sym(1/2)%將字符串轉(zhuǎn)換為符號 sym(a)%將數(shù)值變量a轉(zhuǎn)換為字符變量 c=1/3; d=sym(c); ac=a+c%數(shù)值變量的四則運算 bd=b+d%符號變量的四則運算例2.1 比較數(shù)值變量、符號變量和符

4、號串s =1/2a = 0.5000%計算數(shù)值變量a的值b =1/2%符號變量b以字符串的方式顯示,并不計算其值ans = 1/2ac = 0.8333bd =5/6 函數(shù)symssyms var1 var2 varn功能:創(chuàng)建多個符號變量說明:使用該函數(shù)定義符號變量時,變量名上不能加單 引號( )。sym一次只能定義一個符號變量,而syms一次可 以定義多個符號變量,各符號變量名之間用空格 分隔,不能用逗號分隔。 clear all syms a b c x whos2.1.2 創(chuàng)建符號表達式 Matlab中,由符號常量、符號變量、符號函數(shù)運算符及專用函數(shù)連接起來的表達式稱為符號表達式。創(chuàng)建

5、符號表達式 常用方法有2種方法:利用sym函數(shù)或syms函數(shù)創(chuàng)建符號表達式利用已定義的符號變量創(chuàng)建符號表達式 函數(shù)findsym確定符號表達式中的所有自由符號變量。 例2.2 y1=sym(x2) %利用sym函數(shù)創(chuàng)建符號表達式 y1 = x2 syms x y2=sin(x) %利用已定義的符號變量創(chuàng)建符號表達式 y2 = sin(x) class(y2) %查看類型 ans = sym syms a b c x y=a*x2+b*x+c findsym(y) %查看自由符號變量 y = a*x2 + b*x + c ans = a,b,c,x 創(chuàng)建符號方程 符號表達式分為符號函數(shù)和符號方程

6、兩類。符號函數(shù)中不帶等號,只是由變量和數(shù)字組成的代數(shù)式子,而符號方程是由符號表達式和等號組成的等式。 創(chuàng)建符號方程的方法只有一種: eq=sym(equation)例如, f=sym(asin(x)%定義函數(shù)f =asin(x) x0=1; f0=eval(f)%計算函數(shù)值f0=f(x0)f0 = 1.57082.1.3 創(chuàng)建抽象函數(shù) 形如f(x)、g(x,y)等表示的未知函數(shù)稱為抽象函數(shù)。 Matlab中,由函數(shù)sym和syms來定義抽象函數(shù) 。 syms var1 var2 varn f=sym(f(var1 var2 varn)例如, syms x f=sym(f(x) f = f(x)

7、 g=sym(g(x2-sin(x) g = g(x2 - sin(x)2.2 符號表達式的初等運算 類型調(diào)用格式功能說明代換subs(s)用賦值語句中給定值替換符號表達式s中所有同名變量 subs(s,old new)用符號new代替符號表達式s中的符號old 精度設(shè)置digits(n)設(shè)置有效數(shù)字個數(shù)為n,n默認為32 digits返回當前數(shù)值計算的精度 2.2 符號表達式的初等運算 類型調(diào)用格式功能說明轉(zhuǎn)換eval(s)將符號表達式s轉(zhuǎn)換為數(shù)值表達式 sym(s)將數(shù)值表達式s轉(zhuǎn)換為符號表達式 vpa(s,n) 將符號表達式s轉(zhuǎn)換為具有n位精度的數(shù)值,省略n時,則按digits(n)函數(shù)

8、設(shè)置的有效位數(shù)輸出 double(s)將其他數(shù)值型數(shù)據(jù)、字符、字符串等s轉(zhuǎn)換成雙精度2.2 符號表達式的初等運算 類型調(diào)用格式功能說明化簡simplify(s)應(yīng)用各種恒等式關(guān)系、函數(shù)關(guān)系對符號表達式s進行化簡 simple(s) 調(diào)用Matlab的其他函數(shù)對符號表達式s進行綜合化簡,并顯示化簡過程 pretty(s) 以習慣方式顯示符號表達式s 復(fù)合函數(shù)運算y=compose(f,g) 返回y=f(u),u=g(x)的復(fù)合函數(shù)y=f(g(x) y=compose(f,g,t) 返回y=f(u),u=g(t)的復(fù)合函數(shù)y=f(g(t) 反函數(shù)運算 g=finverse(f,t) 返回f按指定自

9、變量t的反函數(shù)g(t);若省略t,則對默認的自由符號變量求反函數(shù) 2.2 符號表達式的初等運算 類型調(diào)用格式功能說明變換factor(s) 將符號表達式s轉(zhuǎn)換為乘積形式,即因式分解 expand(s) 將符號表達式s中的乘積展開為和式 collect(s,v) 將表達式s按變量v的同次冪項進行合并,v的默認值為x horner(s) 將表達式s中的符號多項式(或多項式矩陣)轉(zhuǎn)換為嵌套形式,其中的常數(shù)項保持不變 n,d=numden(s) 返回符號表達式s的分子n和分母d 2.2 符號表達式的初等運算 類型調(diào)用格式功能說明數(shù)列求和 symsum(s,t,n,m) 返回符號表達式s對符號變量t從n

10、到m的和式 泰勒多項式展開 taylor(f,v,Name,Value) 將符號函數(shù)f展開為指定變量v在a處的階名Name階數(shù)Value的泰勒多項式,階數(shù)Value默認值為5,省略v時為默認變量,a默認為0 2.2 符號表達式的初等運算說明:函數(shù)symsum中,s為通項表達式,t為求和變量,n、 m分別為求分別為求和的下限和上限;當m取為inf 時,則返回以s為通項的無窮級數(shù)的和。函數(shù)taylor中,階名Name和階數(shù)Value是成對參數(shù), Name常用的有兩種:ExpansionPoint和Order, 分別表示展開點和階數(shù),必須用單引號“ ”括起, Value是展開點和階數(shù)的具體值。例2.

11、3 利用subs和eval函數(shù)計算函數(shù)值。 syms x y f1=1/x2; f10=subs(f1,x,1:5)%計算y在x=1:5的函數(shù)值 f2=1/x2+y; f20=subs(f2,x,y,1,0.3)%計算f在x=1,y=0.3的函數(shù)值 f3=sym(asin(x);x=1; f30=eval(f3)f10 = 1.0000 0.2500 0.1111 0.0625 0.0400f20 = 1.300f30 = 1.5708例2.4 將符號對象轉(zhuǎn)換為不同精度的數(shù)值型數(shù)據(jù)。 a=sym(pi)%定義符號變量a a1=double(a)%將字符變量a轉(zhuǎn)換為雙精度數(shù)值 a2=eval(a

12、) ac=class(a)%獲取a的類型 a1c=class(a1)%獲取a的類型 a2c=class(a2) a3=vpa(a,16)%將a轉(zhuǎn)換為16位精度的數(shù)值例2.5 計算函數(shù)的泰勒多項式 。 syms x f=exp(x); g=taylor(f,x,ExpansionPoint,1,Order,4) %將函數(shù)f展開成為x-1的3次泰勒多項式g = exp(1) + exp(1)*(x - 1) + (exp(1)*(x - 1)2)/2 +(exp(1)*(x - 1)3)/62.3 求解符號方程調(diào)用格式功能說明x=roots(p) 返回多項式方程的根x,其中p為多項式的系數(shù)向量an

13、,an-1,a1,a0 x=solve(f,v) 求符號表達式或字符串f定義的代數(shù)方程f=0的解向量x,自變量為v,省略v時使用默認變量 v1,v2,vn=solve(f1,f2,fn,v1,v2,vn) 求符號表達式或字符串f1,f2,fn組成的代數(shù)方程組f1=0,f2=0,fn=0的解,求解變量分別v1,v2,vn 2.3 求解符號方程調(diào)用格式功能說明x=fsolve(f,x0) 從方程根的初值x0開始搜索非線性方程(組)f=0的解 x,f=fsolve(f,x0) 同fsolve(f,x0),返回方程的解x及相應(yīng)的函數(shù)值f x=fzero(f,a,b) 返回單變量符號函數(shù)f在區(qū)間a,b內(nèi)

14、的零點x x=fzero(f,x0,tol) 返回單變量符號函數(shù)f在點x0附近滿足精度tol的零點x x,f=fzero(f,x0,tol) 返回單變量符號函數(shù)f在點x0附近滿足精度tol的零點x及相應(yīng)的函數(shù)值f 2.3 求解符號方程 說明:roots函數(shù)求解多項式的根時,約定:多項式的系數(shù) 用行向量表示,一組根用列向量表示;n次多項式 具有n個根,可能是實根,也可能是共軛復(fù)根。solve函數(shù)求方程的數(shù)組形式的解析解,求解形如 f(x)=g(x)形式的方程時,則需要用單引號把方程括 起來,如f(x)-g(x)。fsolve函數(shù)位于優(yōu)化(Optimization)工具箱,用于 求解非線性符號方程

15、的解,其中x0是解的初始估計 值,可以通過繪圖進行估計。 2.3 求解符號方程 說明:fzero函數(shù)只返回一個局部零點,不能找出所有的零 點;fzero(f,x0,tol)中x0是搜索起點,Matlab自動在 x0附近找出端點函數(shù)值異號的區(qū)間,然后迭代求出 并返回函數(shù) f 的零點z;若找不到,則返回Nan。初 值x0應(yīng)為接近零點的值,否則誤差較大;tol控制結(jié) 果的相對精度,省略時tol=eps;fzero(f,a,b)中端點 a、b處的函數(shù)值必須異號,否則系統(tǒng)會出錯。 例2.6 求方程x2-3x+1=0的根。 方法一 p=1,3,1; x0=roots(p) 方法二 x0=solve(x2-

16、3*x+1) x0 = 2.6180 0.3820 x1 = 2.6180 0.3820 x0 = 5(1/2)/2 + 3/2 %符號解 3/2 - 5(1/2)/2 x1=eval(x0)%轉(zhuǎn)換為數(shù)值解x0 = 0.3820 2.6180例2.6 求方程x2-3x+1=0的根。 方法三 f=(x)x.2-3*x+1; x=-1:0.01:3; y=f(x); plot(x,y) grid on x0=fsolve(f,0,3) hold on text(x0(1),x0(2),0.2,0.2,零點1;零點2) %添加文本標注 例2.6 求方程x2-3x+1=0的根。 方法四 f=(x)x.

17、2-3*x+1; x=-1:0.01:3; y=f(x); plot(x,y) grid on x1=fzero(f,0,1) x2=fzero(f,2,3)x1 = 0.3820 x2 = 2.61802.4 符號函數(shù)繪圖 Matlab有強大的符號函數(shù)繪圖功能,可以繪制一元函數(shù)的曲線圖、隱函數(shù)的圖形、二元函數(shù)的曲面圖及等高線圖、參數(shù)方程表示的函數(shù)以及極坐標表示的函數(shù)的圖形等。繪制一元符號函數(shù)圖形的函數(shù)主要有ezplotfplot2.4 符號函數(shù)繪圖調(diào)用格式功能說明ezplot(f) 繪制默認區(qū)間-2,2上符號函數(shù)f的圖形 ezplot(f,a,b)繪制指定區(qū)間a,b上符號函數(shù)f的圖形 ezp

18、lot(f,xmin,xmax,ymin,ymax) 繪制區(qū)間xminxxmax,yminyymax上由方程f(x,y)=0確定的隱函數(shù)的圖形,x和y的默認區(qū)間都為-2,2 ezplot(x,y,) 繪制區(qū)間t上參數(shù)方程x=x(t),y=y(t)確定的函數(shù)的圖形,,省略時為0,2 例2.7 畫出y=arcsinx的圖形。 ezplot(asin(x),-2,2)畫出x-y+sin(y)/2=0所確定的隱函數(shù)的圖形。 ezplot(x-y+sin(y)/2)畫出x=t-sint,y=1-cost 所確定的函數(shù)的圖形。 ezplot(t-sin(t),1-cos(t),0,3*pi)2.4 符號函

19、數(shù)繪圖調(diào)用格式功能說明fplot(f,lim,ls,tol,n) 繪制范圍lim上函數(shù)f的圖形,ls為線形參數(shù),tol指定誤差精度,默認為0.002,參數(shù)n指定最少的繪圖點數(shù)為n+1,默認為1 X,Y=fplot(f,lim,ls,tol,n) 返回繪圖數(shù)據(jù)點向量X和Y=f(X),不繪制圖形 說明: 參數(shù) f 必須是以x為獨立變量的字符串、內(nèi)聯(lián)函數(shù)、 匿名函數(shù)或 M函數(shù)文件。 fplot函數(shù)不能繪制隱函數(shù)和參數(shù)方程的圖形。例2.8 比較plot函數(shù)、fplot函數(shù)和ezplot函數(shù)繪制函 數(shù) y=sin(1/x)(-0.1x0.1)的圖形。 clear all;close all; x=-0.

20、1:0.01:0.1; y=sin(1./x); subplot(3,1,1) plot(x,y) title(plot函數(shù)繪圖) subplot(3,1,2) fplot(sin(1/x),-0.1,0.1) title(fplot函數(shù)繪圖) subplot(3,1,3) ezplot(sin(1/x),-0.1,0.1) title(ezplot函數(shù)繪圖)2.5 極限計算調(diào)用格式功能說明limit(f,x,a) 返回極限 的值 limit(f,a) 返回默認變量趨于 a 時函數(shù) f 的極限值limit(f) 返回默認變量趨于 0 時函數(shù) f 的極限值 2.5 極限計算調(diào)用格式功能說明lim

21、it(f,x,a,right) 返回右極限 的值 limit(f,x,a,left) 返回左極限 的值 limit(f,x,inf) 返回極限 的值 limit(f,x,-inf) 返回極限 的值 例2.9 計算函數(shù)y=x2在x=0,-1,處的極限。 syms xy=x2;a=limit(y),limit(y,-1),limit(y,x,inf)a = 0, 1, Inf 2.6 導(dǎo)數(shù)計算調(diào)用格式功能說明diff(f) 返回符號表達式 f 對默認自變量的一階導(dǎo)數(shù) diff(f,v) 返回符號表達式 f 對指定變量 v 的一階導(dǎo)數(shù) diff(f,v,n) 返回符號表達式 f 對指定變量 v 的

22、n 階導(dǎo)數(shù) 例2.10 計算函數(shù)y=x2的一階、二階和三階導(dǎo)數(shù)。 syms xy=x2;dy=diff(y),diff(diff(y),1),diff(y,3) dy = 2*x, 2, 0嵌套2.7 函數(shù)的極值調(diào)用格式功能說明x,favl=fminbnd(f,x1,x2) 返回單變量非線性函數(shù) f 在區(qū)間(x1,x2)上的極小值點x和極小值favl x,favl=fminbnd(f,x1,x2,options) 按options結(jié)構(gòu)指定的優(yōu)化參數(shù)求函數(shù)f的極小值點和極小值 x,favl,exitflag,output=fminbnd() 返回函數(shù)f的極小值點和極小值,及求解狀態(tài)和求解信息 說

23、明:fminbnd函數(shù)只能求函數(shù)的局部極小值 options 結(jié)構(gòu)的參數(shù)字段含義 Display 設(shè)置結(jié)果的顯示方式,其值有off:不顯示輸出;iter:顯示每步迭代后的結(jié)果;final:只顯示最終結(jié)果;notify:只有當求解不收斂時才顯示結(jié)果 MaxFunEvals目標函數(shù)檢查的最大允許次數(shù) MaxIter 最大允許迭代次數(shù) OutputFcn 用戶自定義的輸出函數(shù),其在每個迭代步調(diào)用 TolX 自變量的精度 options 結(jié)構(gòu)的參數(shù)可以通過函數(shù)optimset設(shè)置,其字段及含義,其字段有 輸出參數(shù)exitflag和outoutexitflag的取值含義 Output的字段 含義 1 成

24、功求得優(yōu)化解,且解的精度為TolX output.algorithm 優(yōu)化算法0 由于目標函數(shù)檢查次數(shù)達到最大或迭代次數(shù)達到最大值而退出 output.funcCount 目標函數(shù)檢查次數(shù) -1 由于用戶自定義函數(shù)引起的退出 output.iterations 優(yōu)化迭代次數(shù) 2 邊界條件不協(xié)調(diào)(x1x2) output.message 退出信息 例2.11 求函數(shù)y=(x2-1)3+1的極值。 y=(x2-1)3+1; x,fx,exitflag,output=fminbnd(y,-2,2)x = 4.4409e-16fx = 0exitflag = 1output = iterations:

25、 5 funcCount: 6 algorithm: golden section search, parabolic interpolation message: 1x111 char2.8 可視化數(shù)學分析界面 Matlab的符號數(shù)學工具箱為符號函數(shù)的可視化提供了一組簡單易操作的命令,其中常用有 符號函數(shù)計算器 taylor級數(shù)逼近計算器 符號函數(shù)計算器 在命令窗口中輸入 funtool 便啟動符號函數(shù)計算器 ,包括:2個圖形窗口1個運算控制窗口 運算控制窗口 分為兩個部分,第一部分中有以下4個文本框:函數(shù) f 文本框:輸入要分析的函數(shù)f(x)的解析式函數(shù) g 本框:輸入要分析的函數(shù)g(x)

26、的解析式常數(shù) a:常數(shù)的輸入自變量x的范圍:設(shè)置分析的區(qū)間 運算控制窗口第二部分中有4行按鈕,完成函數(shù)的以下運算:第一行按鈕只對 f 完成如求導(dǎo)、積分、化簡、提取 分子和分母、倒數(shù)、反函數(shù)等運算。第二行按鈕完成函數(shù) f 和常數(shù) a 間的加、減、乘、 除等運算。第三行按鈕完成 f 和 g的一些運算,前4個按鈕完成 四則運算,第5個按鈕求復(fù)合函數(shù),第6個按鈕把 f 傳遞給 g,最后一個按鈕swap實現(xiàn) f 和 g 的互換。最后一行按鈕是對計算器自身進行的操作。 taylor級數(shù)逼近計算器 在命令窗口中輸入 taylortool 便啟動圖形化的泰勒級數(shù)逼近計算器,有4個交互項: 函數(shù) f(x) 文本

27、框:輸入要分析的函數(shù) f(x) 的解析 式。階數(shù)N文本框:泰勒級數(shù)的階數(shù)。可以通過右側(cè) 的按鈕設(shè)置,也可以直接輸入階數(shù)。展開點a:輸入泰勒級數(shù)中的x0。自變量x的范圍:設(shè)置分析的區(qū)間。 taylor級數(shù)逼近計算器 三、實驗內(nèi)容例2.12 利用圖形的方法,驗證數(shù)列極限并對=0.1,0.05,在圖形上尋找N,使得nN時,總有觀察數(shù)列極限存在的幾何意義。 繪制數(shù)列的各點n=1:1:100;%設(shè)置數(shù)列的項數(shù)為100an=(n+(-1).n)./n;%計算數(shù)列(n+(-1)n)/n的每一項的值subplot(1,2,1)%設(shè)置子窗口為(1,2,1)plot(n,an,.) grid on;hold on

28、驗證數(shù)列的極限ezplot(0.9,1,100)%取1=0.1,畫直線y=0.9ezplot(1.1,1,100)%畫直線y=1.1title(epsilon=0.1)axis(0,100,0,1.5)e1=0.1;N1=round(1/e1)plot(N1*ones(20),linspace(0,1.5,20),r) hold off驗證數(shù)列的極限subplot(1,2,2)%設(shè)置子窗口為(1,2,2)plot(n,an,.) grid on;hold onezplot(0.95,1,100)%取2=0.05,畫直線y=0.95ezplot(1.05,1,100)%畫直線y=1.05titl

29、e(epsilon=0.05)axis(0,100,0,1.5) e2=0.05;N2=round(1/e2) plot(N2*ones(20),linspace(0,1.5,20),r) 驗證數(shù)列的極限syms n an=(n+(-1).n)./n;limit(an,n,inf) ans = 1例2.13 設(shè)P(x)=2x3+8x+1,Q(x)=3x2+4,R(x)=x3-2x+4,計算極限 先畫出多項式P(x)、Q(x)、R(x)的圖形。 clear all;close all x=-100:0.1:100; y1=2*x.3+8*x+1; y2=3*x.2+4; y3=x.3-2*x+4

30、;先畫出多項式P(x)、Q(x)、R(x)的圖形。plot(x,y1,r-,x,y2,b-,x,y3,k:)text(22,10000,leftarrowP(x); %在指定位置添加文本標注text(34,3421,leftarrowQ(x);text(-5,3480,R(x)rightarrow);axis(-100,100,-5000,15000)x時函數(shù)P(x)、Q(x)、R(x)的絕對值無限增大, P(x)與 R(x)增大的速度比Q(x)快。 討論有理函數(shù)的圖形。 subplot(3,1,1) ezplot(2*x3+8*x+1)/(3*x2+4) title(P(x)/Q(x) su

31、bplot(3,1,2) ezplot(3*x2+4)/(x3-2*x+4) title(Q(x)/R(x) subplot(3,1,3) ezplot(x3-2*x+4)/(2*x3+8*x+1) title(R(x)/P(x) 討論有理函數(shù)的極限。 syms x P_Q=limit(2*x3+8*x+1)/(3*x2+4),x,inf) Q_R=limit(3*x2+4)/(x3-2*x+4),x,inf) R_Q=limit(x3-2*x+4)/(2*x3+8*x+1),x,inf) P_Q = InfQ_R = 0 R_Q = 1/2例2.14 求極限 syms x limit(1/(

32、x-1)-3/(x3-1),x,1) ezplot(1/(x-1)-3/(x3-1),-3,3) hold on grid on plot(1,1,ro) ans = 1例2.15 試用夾擠定理驗證極限x=-100:1:100;h=1./(x.4).(1/5);f=sin(x).*h;plot(x,f,b-,x,h,r.,x,-h,k-.)hold onezplot(0,-100,100)legend(f=sin(x)/x(4/5), h=1/x(4/5), g=-1/x(4/5)syms xlimit(sin(x)/(x(4/5),x,inf)繪制函數(shù)及其包絡(luò)線的圖形 例2.16 通過畫圖和

33、計算驗證重要極限 利用subplot函數(shù)和hold on函數(shù),畫出函數(shù)y=x,y=sinx,y= 的圖形。 subplot(2,1,1) ezplot(x) hold on ezplot(sin(x) subplot(2,1,2) ezplot(sin(x)/x)例2.16 通過畫圖和計算驗證重要極限 計算極限值 syms x y yr yl%定義符號變量 y=limit(sin(x)/x,x,0)%計算x-0時的極限 yr=limit(sin(x)/x,x,0,right)%計算x-0時的右極限 yl=limit(sin(x)/x,x,0,left)%計算x-0時的左極限y =1yr =1y

34、l =1例2.16 通過畫圖和計算驗證重要極限 繪制函數(shù)的圖形 clear all;close all ezplot(1+1/x)x,-10000,10000) grid on hold on ezplot(exp(1),-10000,10000) text(0.2,2.7184,y=e) 例2.16 通過畫圖和計算驗證重要極限 計算極限值 syms x y=(1+1/x)x; limit(y,x,inf)ans =exp(1)例2.17 計算極限 和 ,理解無窮小與有界量乘積的性質(zhì)。 討論極限 clear all;close all ezplot(sin(x)/x,-10*pi,10*pi,

35、-0.5,1.5) syms x limit(sin(x)/x,x,inf)ans0例2.17 計算極限 和 ,理解無窮小與有界量乘積的性質(zhì)。 討論極限 syms x jy1=limit(sin(1/x),x,0) jy2=limit(x*sin(1/x),0)jy1 =limit(sin(1/x), x = 0)jy2 =0例2.18 討論極限 ,理解無窮小與無窮大的關(guān)系。syms x yr=limit(exp(1/x),x,0,right)yl=limit(exp(1/x),x,0,left)y=limit(exp(1/x),x,0)yr =Infyl =0y =NaN例2.19 當x0+

36、時,用定義比較無窮小 與(1) (2) (3) (4)的階,并用圖形進行驗證。syms xy=sqrt(x);y1=1-exp(sqrt(x);y2=log(1+x)/(1-sqrt(x);y3=sqrt(1+sqrt(x)-1;y4=1-cos(sqrt(x);L1=limit(y1/y,x,0,right);L2=limit(y2/y,x,0,right);L3=limit(y3/y,x,0,right);L4=limit(y4/y,x,0,right);L=L1,L2,L3,L4L = -1, 1, 1/2, 0例2.20 討論函數(shù) y= 的間斷點及其類型。 y_3 =-1/6y3 =N

37、aNclear allsyms xy=(x+3)/(x2-9);y_3=limit(y,x,-3)y3=limit(y,x,3) 例2.20 討論函數(shù) y= 的間斷點及其類型。 y3r =Infy3l =-Infy3r=limit(y,x,3,right)%計算x-3時y的右極限y3l=limit(y,x,3,left)%計算x-3時y的左極限 在極限不存在時,Matlab可能給出非數(shù)NaN或沒有結(jié)果的原式,但不能說明極限的詳細情況,需進一步考察其左右極限情況。 因此,x=-3是可去間斷點, x=3是無窮間斷點。例2.21 討論函數(shù) 的間斷點及其類型。 繪制函數(shù)圖形,命令為 clear all

38、,close all syms x ezplot(x-1,-3,1) hold on grid on ezplot(3-x,1,3) plot(1,2,ro,Markersize,6,LineWidth,2) text(2,1.2,bfy=3-x,Fontsize,12) text(-0.5,-0.8,bfy=x-1,Fontsize,12) axis(-3,3,-3,3)例2.21 討論函數(shù) 的間斷點及其類型。 計算函數(shù)的極限,輸入命令 yl=limit(x-1,x,1,left)%計算x-1時y的左極限 yr=limit(3-x,x,1,right) %計算x-1時y的右極限于是,函數(shù)只有

39、一個間斷點x=1,其是跳躍間斷點。 yl = 0 yr = 2例2.22 計算極限輸入命令 clear all syms a x h%定義符號變量a x h y=sin(x),ax;%定義符號函數(shù)y y1=subs(y,x,x+h);%計算y(x+h)的值 f=(y1-y)/h; jx=limit(f,h,0)%對f求h-0的極限值jx = cos(x), ax*log(a)例2.23 計算下列函數(shù)的一階導(dǎo)數(shù)。(1)y=x10+10 x+lnx(2)y=ex(sinx+cosx)(3)y=xsinxlnx(4)y=sinnx+sinnx+sinxn輸入命令 clear all syms x n

40、 y1=x10+10 x+log(x); y2=exp(x)*(sin(x)+cos(x); y3=x*sin(x)*log(x); y4=sin(n*x)+(sin(x)n+sin(xn); dy1=diff(y1) dy2=diff(y2) dy3=diff(y3) dy4=diff(y4)輸出結(jié)果為 dy1 = 10 x*log(10) + 1/x + 10*x9 dy2 = exp(x)*(cos(x) + sin(x) + exp(x)*(cos(x) - sin(x) dy3 = sin(x) + log(x)*sin(x) + x*cos(x)*log(x) dy4 = n*co

41、s(n*x) + n*x(n - 1)*cos(xn) + n*cos(x)*sin(x)(n - 1)例2.23 計算下列函數(shù)的一階導(dǎo)數(shù)。(1)y=x10+10 x+lnx(2)y=ex(sinx+cosx)(3)y=xsinxlnx(4)y=sinnx+sinnx+sinxn輸出結(jié)果為 dy1 = 10 x*log(10) + 1/x + 10*x9 dy2 = exp(x)*(cos(x) + sin(x) + exp(x)*(cos(x) - sin(x) 例2.23 計算下列函數(shù)的一階導(dǎo)數(shù)。(1)y=x10+10 x+lnx(2)y=ex(sinx+cosx)(3)y=xsinxln

42、x(4)y=sinnx+sinnx+sinxndy2=simple(dy2)%化簡dy2dy2 =2*exp(x)*cos(x)繪制函數(shù)圖形 clear all,close all syms x ezplot(sin(abs(x),-3/2*pi,3/2*pi) grid on例2.24 討論函數(shù)f(x)=sin|x|的可導(dǎo)性,并繪制函數(shù)及其導(dǎo)函數(shù)的圖形 。 syms h fr=sin(x);%fr為x=0時的函數(shù) fl=sin(-x);%fl為x0時的導(dǎo)函數(shù) dfdxl=limit(subs(fl,x,x+h)-fl)/h,h,0)%計算1,曲線 在點(1,1)處的切線與x軸的交點為(n,0

43、),求。qx =(n2 - 1)*(x - 1) + 1求n的表達式lanmda=solve(qx)lanmda =(n2 - 2)/(n2 - 1)計算極限值an=lanmda(n2);jx=limit(an,n,inf)jx = exp(-1)輸入命令 clear all y1=sym(x*f(x2); y2=sym(f(sin(x)2)+f(cos(x)2); y3=sym(f(exp(cos(sqrt(x); dy1=simple(diff(y1,x) dy2=simplify(diff(y2,x) dy3=simplify(diff(y3,x) 例2.27 設(shè)函數(shù) f(x)可導(dǎo),求下

44、列函數(shù)的導(dǎo)數(shù)。(1)y1(x)=xf(x2)(2)y2(x)=f(sin2x)+f(cos2x)(3)y3(x)=dy1 =f(x2) + 2*x2*D(f)(x2)dy2 =sin(2*x)*(D(f)(1 - cos(x)2) - D(f)(cos(x)2)dy3 =-(D(f)(exp(cos(x(1/2)*sin(x(1/2)*exp(cos(x(1/2)/(2*x(1/2)例2.27 設(shè)函數(shù) f(x)可導(dǎo),求下列函數(shù)的導(dǎo)數(shù)。(1)y1(x)=xf(x2)(2)y2(x)=f(sin2x)+f(cos2x)(3)y3(x)=即 例2.27 設(shè)函數(shù) f(x)可導(dǎo),求下列函數(shù)的導(dǎo)數(shù)。(1)

45、y1(x)=xf(x2)(2)y2(x)=f(sin2x)+f(cos2x)(3)y3(x)=求出導(dǎo)函數(shù),然后利用eval函數(shù)計算點導(dǎo)數(shù)。 clear all syms x y=log(1+x2); d3y=simple(diff(y,x,3)%求三階導(dǎo)數(shù)y(x) x=1; d3y0=eval(d3y) %計算點導(dǎo)數(shù)y(1)例2.28 設(shè)函數(shù)y=ln(1+x2),求三階導(dǎo)數(shù)y(x)及y(1)。d3y =(4*x*(x2 - 3)/(x2 + 1)3d3y0 =-1 輸入命令 syms x y=x2*sin(x); dy100=diff(y,x,100) 例2.29 計算函數(shù)y=x2sinx的1

46、00階導(dǎo)數(shù)。dy100 =x2*sin(x) - 9900*sin(x) - 200*x*cos(x) 利用輔助函數(shù)求隱函數(shù)的導(dǎo)數(shù)。 clear all syms x y z=x*y+exp(y)-x-1;%定義輔助函數(shù)z dydx=-diff(z,x)/diff(z,y)%計算dy/dx pretty(dydx)%以習慣方式顯示dy/dx x=0; y0=eval(z);%計算x=0時z的值 y0=solve(y0)%計算y(0) dyx0=eval(dydx);%計算x=0時dy/dx的值dyx0 dydx0=subs(dyx0,y,y0)%將dy中的y取為y0,計算y(0) 例2.30

47、求由方程xy+ey=x+1確定的隱函數(shù)y=y(x)的一階導(dǎo)數(shù)y(x)和y(0) 。dydx =-(y - 1)/(x + exp(y) y - 1 - - x + exp(y)y0 =0dydx0 =1例2.30 求由方程xy+ey=x+1確定的隱函數(shù)y=y(x)的一階導(dǎo)數(shù)y(x)和y(0) 。利用參數(shù)方程導(dǎo)數(shù)公式求導(dǎo)。 clear all syms x y t x=sin(t);y=t*sin(t)+cos(t); dydx=diff(y,t)/diff(x,t);%計算一階導(dǎo)數(shù) dydx=simple(dydx)%化簡一階導(dǎo)數(shù) d2yd2x=diff(dydx,t); d2yd2x=sim

48、ple(d2yd2x) 例2.31 由參數(shù)方程 確定的函數(shù)的導(dǎo)數(shù)y(x)及 。dydx =td2yd2x =1出錯利用參數(shù)方程導(dǎo)數(shù)公式求導(dǎo)。 clear all syms x y t x=sin(t);y=t*sin(t)+cos(t); dydx=diff(y,t)/diff(x,t);%計算一階導(dǎo)數(shù) dydx=simple(dydx)%化簡一階導(dǎo)數(shù) d2yd2x= %計算二階導(dǎo)數(shù) d2yd2x=simple(d2yd2x) 例2.31 由參數(shù)方程 確定的函數(shù)的導(dǎo)數(shù)y(x)及 。dydx =td2yd2x =1/cos(t)diff(dydx,t)/diff(x,t);計算點導(dǎo)數(shù)。 t=pi

49、/4; d2yd2x0=eval(d2yd2x)例2.31 由參數(shù)方程 確定的函數(shù)的導(dǎo)數(shù)y(x)及 。d2yd2x0 =1.4142若 dy2=diff(y,t,2)/diff(x,t,2)例2.31 由參數(shù)方程 確定的函數(shù)的導(dǎo)數(shù)y(x)及 。dy2 =-(cos(t) - t*sin(t)/sin(t)出錯注意:由參數(shù)方程 確定的函數(shù)的導(dǎo)數(shù)可以嵌套調(diào)用diff()函數(shù)求各階導(dǎo)數(shù),調(diào)用格式為:dn=diff(dn-1,t)/diff(x,t)不能用dn=diff(dn-1,t)及 dn=diff(y,t,n)/diff(x,t,n)以拋射點為原點建立直角坐標系,建立運動方程 例2.32 籃球從

50、距離地面10米的地方以速率v0=20m/s和投射角=30拋出,計算球落地的時間,落在何處,落地時速度的大小及方向。利用solve函數(shù)求解落地時間T。 syms t v0 g h sita x=v0*t*cos(sita); y=v0*t*sin(sita)-g*t2/2; T=solve(v0*t*sin(sita)-g*t2/2=-h,t); %計算落地時間T h=10;v0=20;g=9.8;sita=30*pi/180; T=eval(T) 計算落地時間?;@球落地的時間T滿足方程T =2.7760-0.7352(舍)籃球的射程 s=v0Tcos籃球落地時的速率 v=籃球落地時速度與水平面

51、的夾角 =計算射程和落地時速度的大小及方向。vx=diff(x,t);vy=diff(y,t);%計算水平速度和垂直速度v=sqrt(vx2+vy2); %計算速率a=atan(vy/vx);%計算速度的方向s=subs(eval(x),t,T(1)%計算射程svluo=subs(eval(v),t,T(1)%計算落地時的速率aluo=subs(eval(a),t,T(1)*180/pi%計算落地時速度方向s = 48.0815vluo = 24.4131aluo = -44.8077計算射程和落地時速度的大小及方向。利用taylor函數(shù)計算泰勒公式。 syms x f=exp(x); r1=

52、taylor(f,ExpansionPoint,0.5,Order,2) r3=taylor(f,ExpansionPoint,0.5,Order,4) r6=taylor(f,ExpansionPoint,0.5,Order,7)例2.33 將函數(shù)f(x)=ex在x=0.5處展開為1,3,6次泰勒公式,并計算 的近似值,誤差不超過0.01。 r1 =exp(1/2) + exp(1/2)*(x - 1/2)r3 =exp(1/2) + exp(1/2)*(x - 1/2) + (exp(1/2)*(x - 1/2)2)/2 + (exp(1/2)*(x - 1/2)3)/6r6 =exp(1

53、/2) + exp(1/2)*(x - 1/2) + (exp(1/2)*(x - 1/2)2)/2 + (exp(1/2)* (x - 1/2)3)/6 + (exp(1/2)*(x - 1/2)4)/24 + (exp(1/2)*(x - 1/2)5)/120+ (exp(1/2)*(x - 1/2)6)/720 輸出結(jié)果為 x0=0:0.1:2; f0=subs(f,x,x0); r10=subs(r1,x,x0); r30=subs(r3,x,x0); r60=subs(r6,x,x0); plot(x0,f0,b,x0,r10,r-.,x0,r30,r-,x0,r60,r*) leg

54、end(函數(shù)f,1次泰勒公式,3次泰勒公式,6次泰勒公式,4)對函數(shù)和各階泰勒展開式的圖形進行比較。 計算 的近似值。err0=0.01;err=1;k=1;fx0=subs(f,x,0.5);while errerr0 k=k+1; m=taylor(f,Order,k); mx0=subs(m,x,0.5); err=abs(fx0-mx0);endfprintf(k=%dnfx0=%16.15fnmx0=%16.16fnerr= .%16.15fn, k,fx0,mx0,err)輸出結(jié)果為k=4fx0=1.648721270700128mx0=1.6458333333333335err=

55、0.002887937366795因為sin31=sin(30+1),設(shè)f(x)=sinx,x0= ,x= ,于是例2.34 計算sin31的近似值。clear allsyms x dxformat long%設(shè)置數(shù)據(jù)顯示格式為longf=sin(x);%定義函數(shù)f=sinxdf=diff(f,x,1);%計算f的一階導(dǎo)數(shù)f(x)fs=f+df*dx%近似計算公式x0=pi/6;%定義x0zzx=pi/180;%定義x fs=subs(fs,x,dx,x0,zzx)%利用近似公式計算近似值x=x0+zzx;fj=eval(f)%計算精確值jdw=abs(fj-fs)%計算絕對誤差xdw=jdw

56、/abs(fj)*100 計算近似值。fs = 0.515114994701952fj = 0.515038074910054jdw = 7.691979189761167e-05xdw = 0.014934777765905輸出結(jié)果為 由微分的定義知,當|x|很小時,利潤增長量利潤增長速度為 例2.35 某廠生產(chǎn)某產(chǎn)品的利潤函數(shù)為L=-x2+492x-90(單位:萬元),其中x為產(chǎn)量(單位:噸)。第一季度產(chǎn)量為200噸,第二季度產(chǎn)量增加了10噸。試求利潤約增加多少萬元?增長速度是多少? syms xL=-x2+492*x-90; dLdx=diff(L,x);%計算利潤的一階導(dǎo)數(shù)L(x)x=

57、200;L0=eval(L)%計算第一季度利潤dx=10;dL=eval(dLdx*dx)%計算利潤增量v=abs(dL/L0)%計算利潤增長速度輸入命令L0 = 58310dL = 920v = 0.0158求一階導(dǎo)數(shù) f (x)的零點。 clear all;close all syms x f=log(sin(x); fab=subs(f,x,pi/6,5*pi/6)%計算端點函數(shù)值 df=diff(f); x0=eval(solve(df)%計算f=0的解,即切點橫坐標 y0=subs(f,x,x0) 例2.36 對函數(shù)f(x)=lnsinx在區(qū)間上 驗證羅爾中值定理。fab = -0.

58、6931 -0.6931x0 = 1.5708y0 = 0 求一階導(dǎo)數(shù) f (x)的零點。 x=pi/6:0.01:5*pi/6;f=eval(f);plot(x,f,r,x,y0*ones(size(x),b-.)hold onplot(x0,y0,r*,markersize,10)axis(pi/6,5*pi/6,-1,0.5)legend(曲線y=lnsinx,水平切線)text(x0-0.2,y0+0.06,bf切點(,num2str(x0),num2str(y0),),fontsize,12,color,b)xlabel(x軸);ylabel(y軸);grid on繪制函數(shù)及其切線的

59、圖形。繪制函數(shù)曲線 clear all;close all syms x f=4*x3-3*x2+1; ab=-1,2; ezplot(f,ab)%畫函數(shù)曲線 text(0.2,subs(f,x,0.2)-1,uparrow曲線y=4x3-3x2+1, fontsize,14) hold on例2.37 對函數(shù)f(x)=4x3-3x2+1在區(qū)間-1,2上驗證拉格朗日中值定理。fab=subs(f,ab);%端點函數(shù)值kab=(fab(2)-fab(1)/(ab(2)-ab(1);%割線斜率yg=kab*(x-ab(1)+fab(1);%割線方程plot(ab,fab)%畫割線text(0.5-

60、1,subs(yg,x,0.5),割線y=, .char(yg),rightarrow,fontsize,14)繪制割線df=diff(f);while 1 x=fzero(inline(df-diff(fab)/diff(ab),rand); if prod(x-ab)0 break endendif nargout=1 xi=x;else xm=x-diff(ab)/10,x+diff(ab)/10; ym=diff(fab)/diff(ab)*(xm-x)+subs(f,x); plot(xm,ym,r-) y=eval(f); text(x+0.05,y-0.05,itbfxi=,nu

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論