第2章MATLAB符號計算尹_第1頁
第2章MATLAB符號計算尹_第2頁
第2章MATLAB符號計算尹_第3頁
第2章MATLAB符號計算尹_第4頁
第2章MATLAB符號計算尹_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2章章 MATLAB符號計算符號計算2.1 符號對象符號對象2.2 符號微積分符號微積分2.3 級級 數(shù)數(shù)2.4 符號方程求解符號方程求解2.5 符號函數(shù)的繪圖函數(shù)符號函數(shù)的繪圖函數(shù)2.6 圖示化函數(shù)計算器圖示化函數(shù)計算器由于在數(shù)學(xué),力學(xué),物理等各科研,工程應(yīng)用中由于在數(shù)學(xué),力學(xué),物理等各科研,工程應(yīng)用中不僅僅存在數(shù)值運算的問題,還有符號運算的問題,不僅僅存在數(shù)值運算的問題,還有符號運算的問題,為此為此MathWorks公司于公司于1993年從加拿大滑鐵盧大學(xué)年從加拿大滑鐵盧大學(xué)購得了購得了Maple使用權(quán),使用權(quán),開發(fā)了開發(fā)了Symbolic Math Toolbox工具箱工具箱。 ma

2、ple(maplestatement) maple(denom(x2+4/3)%denominator Symbolic Math Toolbox符號運算工具包通過符號運算工具包通過調(diào)用調(diào)用Maple軟件實現(xiàn)符號計算的。軟件實現(xiàn)符號計算的。maple軟件軟件主要功能是符號運算,它占據(jù)符主要功能是符號運算,它占據(jù)符號軟件的主導(dǎo)地位。號軟件的主導(dǎo)地位。什么是符號運算什么是符號運算所謂符號計算是指在運算時所謂符號計算是指在運算時,無須事先對變量無須事先對變量賦值賦值,而將所得到結(jié)果以標準的符號形式來表而將所得到結(jié)果以標準的符號形式來表示。示。特點:特點: 運算對象可以是沒賦值的符號變量運算對象可以是

3、沒賦值的符號變量 可以獲得任意精度的解可以獲得任意精度的解與數(shù)值運算的區(qū)別與數(shù)值運算的區(qū)別 數(shù)值運算中必須先對變量賦值數(shù)值運算中必須先對變量賦值,然后才能,然后才能參與運算。參與運算。 2.1 符號對象符號對象2.1.1 建立符號對象建立符號對象1建立符號變量和符號常量建立符號變量和符號常量 參與符號運算的對象可以是符號變量、符號表達參與符號運算的對象可以是符號變量、符號表達式或符號矩陣。式或符號矩陣。 f = sin(x)+5x f 符號變量名符號變量名 sin(x)+5x 符號表達式符號表達式 符號標識符號標識v符號表達式一定要用符號表達式一定要用 單引號括起來單引號括起來matlab才才

4、能識別。能識別。 的內(nèi)容可以是符號表達式,也可以是符號的內(nèi)容可以是符號表達式,也可以是符號方程。方程。例:例: f1=a x2+b x+c 二次三項式二次三項式 f2= a x2+b x+c=0 方程方程 f3=Dy+y2=1 微分方程微分方程符號表達式或符號方程可以賦給符號變量,以符號表達式或符號方程可以賦給符號變量,以后調(diào)用方便;也可以不賦給符號變量直接參與運后調(diào)用方便;也可以不賦給符號變量直接參與運算算MATLAB提供了兩個建立符號對象的函數(shù):提供了兩個建立符號對象的函數(shù):sym和和syms,兩個函數(shù)的用法不同。,兩個函數(shù)的用法不同。(1) sym函數(shù)函數(shù) sym函數(shù)的主要功能是創(chuàng)建單個

5、符號變量,以便進函數(shù)的主要功能是創(chuàng)建單個符號變量,以便進行符號運算,也可以用于創(chuàng)建符號表達式或符號行符號運算,也可以用于創(chuàng)建符號表達式或符號矩陣。用矩陣。用sym函數(shù)創(chuàng)建符號變量的一般格式為:函數(shù)創(chuàng)建符號變量的一般格式為:符號變量名符號變量名=sym(符號字符串符號字符串)符號字符串可以是常量、變量、函數(shù)或表達式。符號字符串可以是常量、變量、函數(shù)或表達式。symbol 【例】作符號計算:【例】作符號計算: a,b,x,ya,b,x,y均為符號運算量。在符號運算前,應(yīng)均為符號運算量。在符號運算前,應(yīng)先將先將a,b,x,ya,b,x,y定義為符號運算量定義為符號運算量. .15byaxbyaxa=

6、sym(a); %定義定義a為符號運算量,輸出變量為符號運算量,輸出變量名為名為ab=sym(b);x=sym(x);y=sym(y); x,y=solve(a*x-b*y-1,a*x+b*y-5,x,y) %以以a,b為符號常數(shù),為符號常數(shù),x,y為符號變量即可得到方為符號變量即可得到方程組解:程組解:x =3/ay =2/bhelp solve SOLVE Symbolic solution of algebraic equations. SOLVE(eqn1,eqn2,.,eqnN) SOLVE(eqn1,eqn2,.,eqnN,var1,var2,.,varN) SOLVE(eqn1,

7、eqn2,.,eqnN,var1,var2,.varN) The eqns are symbolic expressions or strings specifying equations. The vars are symbolic variables or strings specifying the unknown variables. SOLVE seeks zeros of the expressions or solutions of the equations.【例】已知一復(fù)數(shù)表達式【例】已知一復(fù)數(shù)表達式 z=x+i*y, 試求其共軛試求其共軛復(fù)數(shù)復(fù)數(shù),并求該表達式與其共軛復(fù)數(shù)乘

8、積的多項式。并求該表達式與其共軛復(fù)數(shù)乘積的多項式。為了使乘積表達式為了使乘積表達式x2+y2非負,這里,把變量非負,這里,把變量x和和y定定義為實數(shù)。義為實數(shù)。x=sym(x, real);y=sym(y, real);z=x+i*y; %定義復(fù)數(shù)表達式定義復(fù)數(shù)表達式C=conj(z) %求共軛復(fù)數(shù)求共軛復(fù)數(shù)E=expand(z*conj(z) %求表達式與其共軛復(fù)數(shù)乘積的求表達式與其共軛復(fù)數(shù)乘積的多項式多項式ans =x2+y2conj conjugateconjugate complex number (2) syms函數(shù)函數(shù) 函數(shù)函數(shù)sym一次只能定義一個符號變量,使用不方便。一次只能定

9、義一個符號變量,使用不方便。MATLAB提供了另一個函數(shù)提供了另一個函數(shù)syms,一次可以定義,一次可以定義多個符號變量。多個符號變量。syms函數(shù)的一般調(diào)用格式為:函數(shù)的一般調(diào)用格式為:syms 符號變量名符號變量名1 符號變量名符號變量名2 符號變量名符號變量名n 用這種格式定義符號變量時不要在變量名上加字用這種格式定義符號變量時不要在變量名上加字符串分界符符串分界符(),變量間用空格而不要用逗號分隔。,變量間用空格而不要用逗號分隔。(3)默認符號變量)默認符號變量在數(shù)學(xué)表達式中,一般習(xí)慣于使用排在字母表在數(shù)學(xué)表達式中,一般習(xí)慣于使用排在字母表中前面的字母作為變量的系數(shù),而用排在后面的中前

10、面的字母作為變量的系數(shù),而用排在后面的字母表示變量。例如:字母表示變量。例如: f=ax2+bx+c表達式中的表達式中的a,b,c通常被認為是常數(shù),用作變量通常被認為是常數(shù),用作變量的系數(shù);而將的系數(shù);而將x看作自變量??醋髯宰兞俊@?,數(shù)學(xué)表達式例如,數(shù)學(xué)表達式 f=xn g=sin(at+b)根據(jù)數(shù)學(xué)式中表示自變量的習(xí)慣,默認根據(jù)數(shù)學(xué)式中表示自變量的習(xí)慣,默認a,b,n為符號常數(shù),為符號常數(shù),x,t為符號變量。為符號變量。若在若在MATLAB中表示上述表達式,首先用中表示上述表達式,首先用syms 函數(shù)定義函數(shù)定義a,b,n,t,x為符號對象。在進為符號對象。在進行導(dǎo)數(shù)運算時,由于沒有指定

11、符號變量,則系統(tǒng)行導(dǎo)數(shù)運算時,由于沒有指定符號變量,則系統(tǒng)采用數(shù)學(xué)習(xí)慣來確定表達式中的自變量,默認采用數(shù)學(xué)習(xí)慣來確定表達式中的自變量,默認a,b,n為符號常數(shù),為符號常數(shù),x,t為符號變量。為符號變量。即即 : 對函數(shù)對函數(shù)f求導(dǎo)為:求導(dǎo)為:df/dx 對函數(shù)對函數(shù)g求導(dǎo)為:求導(dǎo)為:dg/dt為了了解函數(shù)引用過程中使用的符號變量個數(shù)為了了解函數(shù)引用過程中使用的符號變量個數(shù)及變量名,可以用及變量名,可以用findsym函數(shù)查詢默認的變量。函數(shù)查詢默認的變量。該函數(shù)的引用格式為:該函數(shù)的引用格式為: findsym(f,n)說明:說明:f為用戶定義的符號函數(shù),為用戶定義的符號函數(shù),n為正整數(shù),表示

12、查詢變量的個數(shù)。為正整數(shù),表示查詢變量的個數(shù)。n=i,表示查詢表示查詢i個系統(tǒng)默認變量。個系統(tǒng)默認變量。n值省略時表值省略時表示查詢符號函數(shù)中全部系統(tǒng)默認變量。示查詢符號函數(shù)中全部系統(tǒng)默認變量。例:查詢下列符號函數(shù)中的系統(tǒng)默認變量。例:查詢下列符號函數(shù)中的系統(tǒng)默認變量。 f=xng=sin(at+b)syms a b n t x %定義符號變量定義符號變量f=xn; %給定符號函數(shù)給定符號函數(shù)g=sin(a*t+b);findsym(f,1) %在在f函數(shù)中查詢函數(shù)中查詢1個系統(tǒng)默認變個系統(tǒng)默認變量量ans= x %表示表示f函數(shù)中查詢的函數(shù)中查詢的1個系統(tǒng)默認變個系統(tǒng)默認變量為量為x。fin

13、dsym(g,3)ans = t,b,a2建立符號表達式建立符號表達式 符號表達式由符號變量、函數(shù)、算術(shù)運算符等組符號表達式由符號變量、函數(shù)、算術(shù)運算符等組成。符號表達式的書寫格式與數(shù)值表達式相同。成。符號表達式的書寫格式與數(shù)值表達式相同。例如例如,數(shù)學(xué)表達式數(shù)學(xué)表達式 其符號表達式為:其符號表達式為: (1+sqrt(5*x)/2 注意,在定義表達式前應(yīng)先將表達式中的字符注意,在定義表達式前應(yīng)先將表達式中的字符x定義為符號變量。定義為符號變量。251x建立符號表達式有以下建立符號表達式有以下3種方法:種方法:(1) 利用單引號來生成符號表達式。利用單引號來生成符號表達式。(2) 用用sym函

14、數(shù)建立符號表達式。函數(shù)建立符號表達式。(3) 使用已經(jīng)定義的符號變量組成符號表達式。使用已經(jīng)定義的符號變量組成符號表達式。 (1) 單引號生成符號表達式單引號生成符號表達式f=exp(x) f =exp(x) f=a*x2+b*x+c=0 f =a*x2+b*x+c=0f=D2y-2*Dy-3y=0 f =D2y-2*Dy-3y=0(2) 用用sym(s) 生成符號表達式生成符號表達式 f=sym(a b c; d e f )f = a, b, c d, e, f f=sym(ax-b=0)f = ax-b=0(3) 使用已經(jīng)定義的符號變量組成符號表達式使用已經(jīng)定義的符號變量組成符號表達式將表

15、達式中的自變量定義為符號變量后,賦值給將表達式中的自變量定義為符號變量后,賦值給符號函數(shù)名,即可生成符號函數(shù)。例如有一數(shù)學(xué)表達符號函數(shù)名,即可生成符號函數(shù)。例如有一數(shù)學(xué)表達式:式:其用符號表達式生成符號函數(shù)其用符號表達式生成符號函數(shù)fxy的過程為:的過程為: syms a b c x y %定義符號運算量定義符號運算量 fxy=(a*x2+b*y2)/c2 %生成符號函數(shù)生成符號函數(shù)222),(cbyaxyxf2.1.2 符號表達式運算符號表達式運算1符號表達式的四則運算符號表達式的四則運算 符號表達式的加、減、乘、除運算可分別由符號表達式的加、減、乘、除運算可分別由+、-、*、/、來實現(xiàn)。來

16、實現(xiàn)。a=sym(1/x,1/(x+1);1/(x+2),1/(x+3);b=sym(x,1;x+2,0);b-aab2. 符號表達式的復(fù)合函數(shù)運算符號表達式的復(fù)合函數(shù)運算composeCompose(f,g): f=f(x), g=g(y) 返回返回f(g(y)Compose(f,g,z): f=f(x), g=g(y) 返回返回f(g(z)Compose(f,g,x,z): f=f(x,t), g=g(y) 返回返回f(g(z),t) 即:即:x作為獨立變量作為獨立變量Compose(f,g,x,y,z): f=f(x,y,t) x,y作為獨立變量作為獨立變量 例:例:f=f(x,t) g

17、=g(y,u) 返回返回f(g(z),u),t) 例:例: syms x y z t f=1/x3 , g=tan(y) , h=xt compose(f,g) % 1/tan(y)3 compose(f,g,t) % 1/tan(t)3 compose(h,g,x,z) %tan(z)t compose(h,g,x,y,z) % tan(z)t3. 符號表達式的反函數(shù)運算符號表達式的反函數(shù)運算finversesyms x ; f=1/sin(x); finverse(f) % asin(1/x)f=x2+1;finverse(f)Warning: finverse(x2+1) is not

18、unique.ans =(-1+x)(1/2)4符號表達式的提取分子和分母運算符號表達式的提取分子和分母運算 如果符號表達式是一個有理分式或可以展開為有理如果符號表達式是一個有理分式或可以展開為有理分式,可利用分式,可利用numden函數(shù)來提取符號表達式中的函數(shù)來提取符號表達式中的分子或分母。其一般調(diào)用格式為:分子或分母。其一般調(diào)用格式為:n,d=numden(s) 該函數(shù)提取符號表達式該函數(shù)提取符號表達式s的分子和分母,分別將它的分子和分母,分別將它們存放在們存放在n與與d中。中。denominator numerator例:例: syms x y;n,d=numden(x/y+y/x)n=

19、x2+y2d=y*x5符號表達式的因式分解與展開符號表達式的因式分解與展開MATLAB提供了符號表達式的因式分解與展開的函提供了符號表達式的因式分解與展開的函數(shù),函數(shù)的調(diào)用格式為:數(shù),函數(shù)的調(diào)用格式為:factor(s):把多項式符號表達式:把多項式符號表達式s 分解為多個因式,分解為多個因式,各多項式的系數(shù)均為有理數(shù)。各多項式的系數(shù)均為有理數(shù)。expand(s):對符號表達式:對符號表達式s進行展開。進行展開。collect(s): 對符號表達式對符號表達式s合并同類項。合并同類項。collect(s,v):對符號表達式:對符號表達式s按變量按變量v合并同類項。合并同類項。 horner(s

20、): 將一般的符號表達式轉(zhuǎn)換成嵌套形式的將一般的符號表達式轉(zhuǎn)換成嵌套形式的符號表達式符號表達式Factor函數(shù)函數(shù) 因式分解因式分解例例: 將表達式將表達式(x9-1)分解為多個因式。分解為多個因式。syms xfactor(x9-1) Expand函數(shù)函數(shù) 對符號表達式進行展開對符號表達式進行展開例:例: f=(x-1)12; expand(f) Collect 函數(shù)函數(shù) 合并同類項合并同類項 例:例:syms xf=(x-1)2*(x-3)*(x-5)*(x-7);collect(f)f = -1/4*x*exp(-2*x)+3/16*exp(-2*x)collect(f,exp(-2*x

21、) Horner函數(shù)函數(shù) 將一般的符號表達式轉(zhuǎn)換成嵌套形將一般的符號表達式轉(zhuǎn)換成嵌套形式的符號表達式式的符號表達式例:例:syms xf=(x-1)2*(x-3)*(x-5)*(x-7);g=collect(f)s=horner(g)6符號表達式的化簡符號表達式的化簡MATLAB提供的對符號表達式化簡的函數(shù)有:提供的對符號表達式化簡的函數(shù)有:simplify(s):應(yīng)用函數(shù)規(guī)則對:應(yīng)用函數(shù)規(guī)則對s進行化簡。進行化簡。simple(s):調(diào)用:調(diào)用MATLAB的其他函數(shù)對表達式進行的其他函數(shù)對表達式進行綜合化簡,并顯示化簡過程。綜合化簡,并顯示化簡過程。 Simplify函數(shù)函數(shù) 表達式進行化簡

22、表達式進行化簡例:例: f=(x3-1)/(x-1); simplify(f)ans =x2+x+1 Simple 函數(shù)函數(shù) 對表達式進行多種嘗試,然后選出對表達式進行多種嘗試,然后選出最短形式最短形式例:例: f=(x3-1)/(x-1); simple(f) simplify: x2+x+1 radsimp: x2+x+1 combine(trig): x2+x+1 factor: x2+x+1 expand: 1/(x-1)*x3-1/(x-1) combine: (x3-1)/(x-1) convert(exp): (x3-1)/(x-1) convert(sincos): (x3-1

23、)/(x-1) convert(tan): (x3-1)/(x-1) collect(x): (x3-1)/(x-1) mwcos2sin: (x3-1)/(x-1) ans = x2+x+17符號表達式與數(shù)值表達式之間的轉(zhuǎn)換符號表達式與數(shù)值表達式之間的轉(zhuǎn)換 將符號表達式轉(zhuǎn)換成數(shù)值表達式將符號表達式轉(zhuǎn)換成數(shù)值表達式x=sym(5);t=double(x);whos(2) 將數(shù)值表達式表示成符號表達式將數(shù)值表達式表示成符號表達式 例:例: a=1.0771; y=sym(a) ans = 10771/100002.1.3 符號矩陣符號矩陣 符號矩陣也是一種符號表達式,所以前面介紹的符號表達式符號

24、矩陣也是一種符號表達式,所以前面介紹的符號表達式運算都可以在矩陣意義下進行。但應(yīng)注意這些函數(shù)作用于符運算都可以在矩陣意義下進行。但應(yīng)注意這些函數(shù)作用于符號矩陣時,是分別作用于矩陣的每一個元素。號矩陣時,是分別作用于矩陣的每一個元素。(1) 符號矩陣的創(chuàng)建符號矩陣的創(chuàng)建 數(shù)值矩陣數(shù)值矩陣A=1,2;3,4 A=a,b;c,d 不識別不識別用用matlab函數(shù)函數(shù)sym創(chuàng)建矩陣創(chuàng)建矩陣 命令格式:命令格式:A=sym( ) 符號矩陣內(nèi)容同數(shù)值矩陣符號矩陣內(nèi)容同數(shù)值矩陣 需用需用sym指令定義指令定義 需用需用 標識標識 例如:例如:A = sym(a , 2*b ; 3*a , 0) A = a,

25、 2*b 3*a, 0 這就完成了一個符號矩陣的創(chuàng)建。這就完成了一個符號矩陣的創(chuàng)建。注意:注意:符號矩陣的每一行的兩端都有方括號,這符號矩陣的每一行的兩端都有方括號,這是與是與 matlab數(shù)值矩陣的一個重要區(qū)別。數(shù)值矩陣的一個重要區(qū)別。用字符串直接創(chuàng)建矩陣用字符串直接創(chuàng)建矩陣v需保證同一列中各元素字符串有相需保證同一列中各元素字符串有相 同的長度。同的長度。例:例:A = a,2*b; 3*a, 0 A = a, 2*b 3*a, 0 由于符號矩陣是一個矩陣,所以符號矩陣還能進由于符號矩陣是一個矩陣,所以符號矩陣還能進行有關(guān)矩陣的運算。行有關(guān)矩陣的運算。 許多應(yīng)用于數(shù)值矩陣的函數(shù),如許多應(yīng)用

26、于數(shù)值矩陣的函數(shù),如diag(抽取(抽取對角線)、對角線)、triu(抽取右三角形)、(抽取右三角形)、tril(抽(抽取左三角形)、取左三角形)、inv(求逆)、(求逆)、det(行列(行列式)、式)、rank(求秩)、(求秩)、eig(特征值分解)等,也可(特征值分解)等,也可直接應(yīng)用于符號矩陣。直接應(yīng)用于符號矩陣。diagonalupper triangularlower triangularinversedeterminant eigenvalues 2.2 符號微積分符號微積分2.2.1 符號極限符號極限 函數(shù)函數(shù)limit用于求符號函數(shù)用于求符號函數(shù)f的極限。系統(tǒng)可以根據(jù)的極限。系

27、統(tǒng)可以根據(jù)用戶要求,計算變量從不同方向趨近于指定值的用戶要求,計算變量從不同方向趨近于指定值的極限值。該函數(shù)的格式及功能:極限值。該函數(shù)的格式及功能:(1) limit(f,x,a):求符號函數(shù):求符號函數(shù)f(x)的極限值。即計算當?shù)臉O限值。即計算當變量變量x趨近于常數(shù)趨近于常數(shù)a時,時,f(x)函數(shù)的極限值。函數(shù)的極限值。(2) limit(f,a):求符號函數(shù):求符號函數(shù)f(x)的極限值。由于沒有指的極限值。由于沒有指定符號函數(shù)定符號函數(shù)f(x)的自變量,則使用該格式時,符號的自變量,則使用該格式時,符號函數(shù)函數(shù)f(x)的變量為函數(shù)的變量為函數(shù)findsym(f)確定的默認自變確定的默認自

28、變量,即變量量,即變量x趨近于趨近于a。(3) limit(f):求符號函數(shù):求符號函數(shù)f(x)的極限值。符號函數(shù)的極限值。符號函數(shù)f(x)的變量為函數(shù)的變量為函數(shù)findsym(f)確定的默認變量;沒有指確定的默認變量;沒有指定變量的目標值時,系統(tǒng)默認變量趨近于定變量的目標值時,系統(tǒng)默認變量趨近于0,即,即a=0的情況。的情況。(4) limit(f,x,a,right):求符號函數(shù):求符號函數(shù)f的極限值。的極限值。right表示變量表示變量x從右邊趨近于從右邊趨近于a。(5) limit(f,x,a,left):求符號函數(shù):求符號函數(shù)f的極限值。的極限值。left表示變量表示變量x從左邊趨

29、近于從左邊趨近于a。例例 求下列極限。求下列極限。極限極限1:syms a x;f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/(x+a);limit(f,x,a)ans =1/2*(a-2*exp(tan(a)+a*exp(sin(a)+2)/a極限極限2:syms x t;limit(1+2*t/x)(3*x),x,inf)ans =exp(6*t)極限極限3:syms x;f=x*(sqrt(x2+1)-x);limit(f,x,inf,left)ans =1/2極限極限4:syms x;f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x

30、-4);limit(f,x,2,right)ans =-1/2【例】求極限【例】求極限xeextgxxx3sin0sin) 1(2) 1(limsyms x; %定義符號變量定義符號變量f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3; %確定符號表達式確定符號表達式w=limit(f) %求函數(shù)的極限求函數(shù)的極限w = -1/22.2.2 符號導(dǎo)數(shù)符號導(dǎo)數(shù)(微分)微分)diff函數(shù)用于對符號表達式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)函數(shù)用于對符號表達式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)用格式為:用格式為:diff(s):沒有指定變量和導(dǎo)數(shù)階數(shù),則系統(tǒng)按:沒有指定變量和導(dǎo)數(shù)階數(shù),

31、則系統(tǒng)按findsym函數(shù)指示的默認變量對符號表達式函數(shù)指示的默認變量對符號表達式s求一求一階導(dǎo)數(shù)。階導(dǎo)數(shù)。diff(s,v):以:以v為自變量,對符號表達式為自變量,對符號表達式s求一階導(dǎo)求一階導(dǎo)數(shù)。數(shù)。diff(s,n):按:按findsym函數(shù)指示的默認變量對符號表函數(shù)指示的默認變量對符號表達式達式s求求n階導(dǎo)數(shù),階導(dǎo)數(shù),n為正整數(shù)。為正整數(shù)。diff(s,v,n):以:以v為自變量,對符號表達式為自變量,對符號表達式s求求n階導(dǎo)階導(dǎo)數(shù)。數(shù)。【例】求導(dǎo)數(shù):【例】求導(dǎo)數(shù):x = sym(x); %定義符號變量定義符號變量diff(sin(x2) %求導(dǎo)運算求導(dǎo)運算ans =2*cos(x2

32、)*xdxxd2sin【例】求導(dǎo)數(shù):【例】求導(dǎo)數(shù):x = sym(x); %定義符號變量定義符號變量diff(cos(x)2) %求導(dǎo)運算求導(dǎo)運算ans =-2*cos(x)*sin(x)dxxd2cos 例:計算函數(shù)例:計算函數(shù)y=exp(x)的導(dǎo)數(shù),然后畫出導(dǎo)函數(shù)的導(dǎo)數(shù),然后畫出導(dǎo)函數(shù)的曲線圖的曲線圖 syms x;y=diff(exp(x);ezplot(y)2.2.3 符號積分符號積分符號積分由函數(shù)符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調(diào)用格式為:來實現(xiàn)。該函數(shù)的一般調(diào)用格式為:int(s):沒有指定積分變量和積分階數(shù)時,系統(tǒng)按:沒有指定積分變量和積分階數(shù)時,系統(tǒng)按findsym函數(shù)

33、函數(shù)指示的默認變量對被積函數(shù)或符號表達式指示的默認變量對被積函數(shù)或符號表達式s求不定積分。求不定積分。int(s,v):以:以v為自變量,對被積函數(shù)或符號表達式為自變量,對被積函數(shù)或符號表達式s求不定積分求不定積分int(s,v,a,b):求定積分運算。:求定積分運算。a,b分別表示定積分的下限和上限。分別表示定積分的下限和上限。該函數(shù)求被積函數(shù)在區(qū)間該函數(shù)求被積函數(shù)在區(qū)間a,b上的定積分。上的定積分。a和和b可以是兩個可以是兩個具體的數(shù),也可以是一個符號表達式,還可以是無窮具體的數(shù),也可以是一個符號表達式,還可以是無窮(inf)。當函數(shù)當函數(shù)f關(guān)于變量關(guān)于變量x在閉區(qū)間在閉區(qū)間a,b上可積時

34、,函數(shù)返回一個定上可積時,函數(shù)返回一個定積分結(jié)果。當積分結(jié)果。當a,b中有一個是中有一個是inf時,函數(shù)返回一個廣義積分。時,函數(shù)返回一個廣義積分。當當a,b中有一個符號表達式時,函數(shù)返回一個符號函數(shù)。中有一個符號表達式時,函數(shù)返回一個符號函數(shù)?!纠壳笙率龇e分。【例】求下述積分。syms x;int(1/(1+x2) dxx211【例】求下述積分?!纠壳笙率龇e分。syms x a bint(x2,a,b) ans = 1/3*b3-1/3*a3dxxba2 例例 計算二重不定積分計算二重不定積分dxdyxexysyms x yF=int(int(x*exp(-x*y),x),y)F= 1/

35、y*exp(-x*y)2.2.4 積分變換積分變換常見的積分變換有傅立葉變換、拉普拉斯變換和常見的積分變換有傅立葉變換、拉普拉斯變換和Z變換。變換。1傅立葉傅立葉(Fourier)變換變換在在MATLAB中,進行傅立葉變換的函數(shù)是:中,進行傅立葉變換的函數(shù)是:fourier(f,x,t):求函數(shù):求函數(shù)f(x)的傅立葉變換。的傅立葉變換。ifourier(F,t,x):求頻域函數(shù):求頻域函數(shù)F(t)的傅立葉反變換。的傅立葉反變換。 syms t w ut=heaviside(t); UT=fourier(ut) Ut=ifourier(UT,w,t) 2拉普拉斯拉普拉斯(Laplace)變換變

36、換在在MATLAB中,進行拉普拉斯變換的函數(shù)是:中,進行拉普拉斯變換的函數(shù)是:laplace(fx,x,t):求函數(shù):求函數(shù)f(x)的拉普拉斯變換。的拉普拉斯變換。ilaplace(Fw,t,x):求頻域函數(shù):求頻域函數(shù)Fw的拉普拉斯反變換。的拉普拉斯反變換。例例 計算計算y=x3的拉普拉斯變換及其逆變換。的拉普拉斯變換及其逆變換。 syms x t; y=x3; laplace(y,x,t) ans = 6/t4 yy=6/t4; ilaplace(yy,t,x) ans = x33Z變換變換當函數(shù)當函數(shù)f(x)呈現(xiàn)為一個離散的數(shù)列呈現(xiàn)為一個離散的數(shù)列f(n)時,對數(shù)列時,對數(shù)列f(n)進行

37、進行z變換的變換的MATLAB函數(shù)是:函數(shù)是:ztrans(fn,n,z):求:求fn的的Z變換。變換。iztrans(Fz,z,n):求:求Fz的的Z反變換。反變換。例:例:syms x;f=x*exp(-x*10);F=ztrans(f)F=ztrans(x*exp(-x*10)F =z*exp(-10)/(z-exp(-10)2 2.3 級級 數(shù)數(shù)2.3.1 級數(shù)符號求和級數(shù)符號求和求無窮級數(shù)的和需要符號表達式求和函數(shù)求無窮級數(shù)的和需要符號表達式求和函數(shù)symsum,其調(diào)用格式為:其調(diào)用格式為:symsum(s,v,n,m)其中其中s表示一個級數(shù)的通項,是一個符號表達式。表示一個級數(shù)的通

38、項,是一個符號表達式。v是求和變量,是求和變量,v省略時使用系統(tǒng)的默認變量。省略時使用系統(tǒng)的默認變量。n和和m是求和的開始項和末項。是求和的開始項和末項?!纠壳笙铝屑墧?shù)的和【例】求下列級數(shù)的和:1/12+1/22+1/32+1/42+ syms k symsum(1/k2,1,Inf) %k值為值為1到無窮大到無窮大ans =1/6*pi2其結(jié)果為:其結(jié)果為:1/12+1/22+1/32+1/42+ =2/62.3.2 函數(shù)的泰勒級數(shù)函數(shù)的泰勒級數(shù)MATLAB提供了提供了taylor函數(shù)將函數(shù)展開為冪級數(shù),函數(shù)將函數(shù)展開為冪級數(shù),其調(diào)用格式為:其調(diào)用格式為:taylor(f,v,n,a)該函

39、數(shù)將函數(shù)該函數(shù)將函數(shù)f按變量按變量v展開為泰勒級數(shù),展開到第展開為泰勒級數(shù),展開到第n項項(即變量即變量v的的n-1次冪次冪)為止,為止,n的缺省值為的缺省值為6。參數(shù)。參數(shù)a指定將函數(shù)指定將函數(shù)f在自變量在自變量v=a處展開,處展開,a的缺省值是的缺省值是0。例例 求函數(shù)求函數(shù) 在在8階泰勒級數(shù)展開式。階泰勒級數(shù)展開式。 syms x; f=1/(2+cos(x); r=taylor(f,8) %以以x為自變量求為自變量求f的泰勒展開式的泰勒展開式 r= 1/3+1/18*x2+1/216*x4+1/6480*x6 xycos21例例 給出函數(shù)給出函數(shù) 在在x2處展開的前三個非零項。處展開的

40、前三個非零項。 xxeysing=exp(x*sin(x); t=taylor(g,3,2) t= exp(2*sin(2)+exp(2*sin(2)*(2*cos(2)+sin(2)*(x-2)+exp(2*sin(2)*(-sin(2)+cos(2)+2*cos(2)2+ 2*cos(2)*sin(2)+1/2*sin(2)2)*(x-2)2 2.4 符號方程求解符號方程求解 matlab符號運算能夠解一般的線性方程、非線性方符號運算能夠解一般的線性方程、非線性方程及一般的程及一般的代數(shù)方程、代數(shù)方程組代數(shù)方程、代數(shù)方程組。當方程組不存。當方程組不存在符號解時,又無其他自由參數(shù),則給出數(shù)值

41、解。在符號解時,又無其他自由參數(shù),則給出數(shù)值解。2.4.1 符號代數(shù)方程求解符號代數(shù)方程求解在在MATLAB中,求解用符號表達式表示的代數(shù)方程可中,求解用符號表達式表示的代數(shù)方程可由函數(shù)由函數(shù)solve實現(xiàn),其調(diào)用格式為:實現(xiàn),其調(diào)用格式為:solve(s):求解符號表達式:求解符號表達式s的代數(shù)方程,求解變量為的代數(shù)方程,求解變量為默認變量。默認變量。solve(s,v):求解符號表達式:求解符號表達式s的代數(shù)方程,求解變量為的代數(shù)方程,求解變量為v。solve(s1,s2,sn,v1,v2,vn):求解符號表達式:求解符號表達式s1,s2,sn組成的代數(shù)方程組,求解變量分別組成的代數(shù)方程組

42、,求解變量分別v1,v2,vn。 說明:說明: 若不指明符號表達式若不指明符號表達式s1,s2,.,sn的值,系統(tǒng)默認為的值,系統(tǒng)默認為0。例如。例如給出一個表達式給出一個表達式x2-3*x-8,則系統(tǒng)將按則系統(tǒng)將按x2-3*x-8=0進行運算;進行運算;solve(s1,s2,sn,v1,v2,vn):求解符號表達式或方程求解符號表達式或方程s1,s2,sn組成的代數(shù)方程組,組成的代數(shù)方程組,求解變量分別求解變量分別v1,v2,vn。 例例 f = ax2+bx+c 求解求解計算機格式aacbb242一般格式f=a*x2+b*x+c;solve(f) % 對缺省變量對缺省變量x求解求解ans

43、 =1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2)例例:解代數(shù)方程:解代數(shù)方程:a*x2-b*x-6=0的根。的根。syms a b xsolve(a*x2-b*x-6) ans = 1/2/a*(b+(b2+24*a)(1/2) 1/2/a*(b-(b2+24*a)(1/2)例例 解方程組解方程組 x+y+z=1 x-y+z=2 2x-y-z=1f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f = x: 1x1 symf.x ans =2/3 y: 1x1 symf.y ans =-1/2 z: 1x1 symf.z

44、 ans =5/6 x,y,z=solve(x+y+z=1,x-y+z=2,2*x-y-z=1) x = 2/3 y =-1/2 z =5/6構(gòu)構(gòu)架架數(shù)數(shù)組組構(gòu)架名構(gòu)架名 域名域名2.4.2 符號常微分方程求解符號常微分方程求解符號常微分方程求解可以通過函數(shù)符號常微分方程求解可以通過函數(shù)dsolve來實現(xiàn),其調(diào)用格來實現(xiàn),其調(diào)用格式為:式為:dsolve(e,c,v) 該函數(shù)求解常微分方程該函數(shù)求解常微分方程e在初值條件在初值條件c下的特解。參數(shù)下的特解。參數(shù)v描描述方程中的自變量,省略時按缺省原則處理,若沒有給出述方程中的自變量,省略時按缺省原則處理,若沒有給出初值條件初值條件c,則求方程的

45、通解。,則求方程的通解。 dsolve在求常微分方程組時的調(diào)用格式為:在求常微分方程組時的調(diào)用格式為:dsolve(e1,e2,en,c1,cn,v1,vn) 該函數(shù)求解常微分方程組該函數(shù)求解常微分方程組e1,en在初值條件在初值條件c1,cn下的下的特解,若不給出初值條件,則求方程組的通解,特解,若不給出初值條件,則求方程組的通解,v1,vn給出求解變量。給出求解變量。 在在MATLAB中,用大寫字母中,用大寫字母D表示導(dǎo)數(shù)。例如,表示導(dǎo)數(shù)。例如,Dy表示表示y,D2y表示表示y,D3y+D2y+Dy-x+5=0表示表示微分方程微分方程y+y+y-x+5=0。例:例:f1=Df-f-g;f2=Dg+f-g;S=dsolve(f1,f2, f(0)=1, g(0)=2);S.f S.g例例y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0)ans =exp(-x)*cos(x)+exp(-x)*sin(x)ezplot(y) 方程解

溫馨提示

  • 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

提交評論