《符號計算》PPT課件.ppt_第1頁
《符號計算》PPT課件.ppt_第2頁
《符號計算》PPT課件.ppt_第3頁
《符號計算》PPT課件.ppt_第4頁
《符號計算》PPT課件.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章 MATLAB符號計算 Using Symbolic Math Toolbox,3.1 符號表達(dá)式的建立 3.2符號表達(dá)式的代數(shù)運(yùn)算 3.3符號表達(dá)式的操作和轉(zhuǎn)換 3.4 符號極限、微積分和級數(shù)求和 3.5 符號積分變換 3.6符號方程的求解,MATLAB具有符號數(shù)學(xué)工具箱(Symbolic Math Toolbox) 。 符號計算是可以對未賦值的符號對象(可以是常數(shù)、變量、表達(dá)式)進(jìn)行運(yùn)算和處理。 與數(shù)值運(yùn)算的區(qū)別: 數(shù)值運(yùn)算中必須先對變量賦值,然后才能參與運(yùn)算。 符號運(yùn)算無須事先對獨立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號形式表達(dá)。,符號運(yùn)算的功能,符號線性代數(shù)(linear algebra) 因式分解、展開和簡化(simplification and substitution) 符號代數(shù)方程求解(solving equations) 符號微積分(Calculus) 符號微分方程,3.1 符號表達(dá)式的建立 3.1.1 創(chuàng)建符號常量,符號常量是不含變量的符號表達(dá)式。 sym(常量) %創(chuàng)建符號常量 sym(常量,參數(shù)) %按某種格式轉(zhuǎn)換為符號常量 說明:參數(shù)可以選擇為d、f、e或r 四種格式,也可省略。 EX: a=sym(sin(2) a=sym(sin(2),r),3.1.2 創(chuàng)建符號變量和表達(dá)式 (Creating Symbolic Variables and Expression),1. 使用sym命令創(chuàng)建符號變量和表達(dá)式 sym(變量,參數(shù)) %把變量定義為符號對象 2.使用syms命令創(chuàng)建符號變量和符號表達(dá)式 syms(arg1, arg2, ,參數(shù)) syms arg1 arg2 ,參數(shù),例如: f1=sym(a*x2+b*x+c) %創(chuàng)建表達(dá)式 syms a b c x %創(chuàng)建變量 f2=a*x2+b*x+c %創(chuàng)建表達(dá)式 syms(a,b,c,x) f3=a*x2+b*x+c 符號表達(dá)式()中的參數(shù)一定要用 單引號括起來。,3.1.3 符號矩陣,例如,使用sym命令創(chuàng)建的符號矩陣: A=sym(a,b;c,d) 例如,使用syms命令創(chuàng)建相同的符號矩陣: syms a b c d A=a b;c d 比較符號矩陣與字符串矩陣 : B=a,b;c,d %創(chuàng)建字符串矩陣 C=a,b;c,d %創(chuàng)建數(shù)值矩陣 ? Undefined function or variable a.,3.2符號表達(dá)式的代數(shù)運(yùn)算 3.2.1符號表達(dá)式的代數(shù)運(yùn)算,由于MATLAB采用了重載技術(shù),使得符號表達(dá)式的運(yùn)算符和基本函數(shù)都與數(shù)值計算中的幾乎完全相同 。 例如: A+2 A. det(A) A2,例如: f=sym(2*x2+3*x+4) g=sym(5*x+6) f+g f*g,1. 符號運(yùn)算中的運(yùn)算符 基本運(yùn)算符 運(yùn)算符“”,“”,“*”,“”,“/”,“”分別實現(xiàn)符號矩陣的加、減、乘、左除、右除、求冪運(yùn)算。 運(yùn)算符“.*”,“./”,“.”,“.”分別實現(xiàn)符號數(shù)組的乘、除、求冪,即數(shù)組間元素與元素的運(yùn)算。 運(yùn)算符“”,“.”分別實現(xiàn)符號矩陣的共軛轉(zhuǎn)置、非共軛轉(zhuǎn)置。 (2)關(guān)系運(yùn)算符 運(yùn)算符“= =”、“=”分別對運(yùn)算符兩邊的符號對象進(jìn)行“相等”、“不等”的比較。,2. 函數(shù)運(yùn)算 三角函數(shù)和雙曲函數(shù) (2) 指數(shù)和對數(shù)函數(shù) (3) 復(fù)數(shù)函數(shù) (4) 矩陣代數(shù)命令,3.2.2 符號數(shù)值任意精度控制和運(yùn)算,在Symbolic Math Toolbox中有三種不同的算術(shù)運(yùn)算: 數(shù)值型:MATLAB的浮點運(yùn)算。 有理數(shù)型:Maple的精確符號運(yùn)算。 VPA型:Maple的任意精度運(yùn)算。 任意精度的VPA型運(yùn)算可以使用digits和vpa命令來實現(xiàn)。 digits(n) %設(shè)定默認(rèn)的精度 S=vpa(s,n) %將s表示為n位有效位數(shù)的符號對象,3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換,將數(shù)值矩陣轉(zhuǎn)化為符號矩陣 函數(shù)調(diào)用格式:sym(A) EX: A=1/3,2.5;1/0.7,2/5 sym(A) 將符號矩陣轉(zhuǎn)化為數(shù)值矩陣 函數(shù)調(diào)用格式: numeric(A) EX: a=sym(2/3) b=numeric(a),3.3符號表達(dá)式的操作和轉(zhuǎn)換 3.3.1符號表達(dá)式中自由變量的確定,符號表達(dá)式“f=ax2+bx+c” 中只有一個變量是獨立變量: 小寫字母i和j不能作為自由變量。 符號表達(dá)式中如果有多個符號變量,則按照以下順序選擇自由變量:首先選擇x作為自由變量;如果沒有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。 大寫字母比所有的小寫字母都靠后。 也可以用findsym函數(shù)來自動確定。,自由變量的確定原則(The Default Symbolic Variables),3.3.2符號表達(dá)式的化簡 (Simplificate),同一個多項式的符號表達(dá)式可以表示成三種形式: 多項式形式的表達(dá)方式:f(x)=x3+6x2+11x-6 因式形式表達(dá)方式:f(x)=(x-1)(x-2)(x-3) 嵌套形式的表達(dá)方式:f(x)=x(x(x-6)+11)-6 pretty:給出排版形式的輸出結(jié)果 。 collect:將表達(dá)式寫成多項式形式.,3 2 x - 6 x + 11 x - 6,x3-6*x2+11*x-6,horner:將多項式形式寫成嵌套形式 factor:將表達(dá)式寫成因式形式 expand:將表達(dá)式寫成多項式形式 simplify:對表達(dá)式進(jìn)行化簡 例如: k=sym(cos(x)2-sin(x)2) simplify(k) simple:尋求表達(dá)式的多種簡化形式,使之包含最少數(shù)目的字符,-6+(11+(6+x)*x)*x,2*cos(x)2-1,(x-1)*(x-2)*(x-3),3.3.3 符號表達(dá)式的替換(Substitutions),subs函數(shù):對符號表達(dá)式中符號變量的替換。 subs(s)%用給定值替換符號表達(dá)式s中的所有變量 subs(s,new)%用new替換符號表達(dá)式s中的自由變量 subs(s,old,new) %用new替換符號表達(dá)式s中的old變量 例: f=sym(x3-6*x2+11*x-6) x=5 subs(f) subs(f,5) subs(f,x,5) 可以用來計算多項式的值,以及化簡。,3.3.4 求反函數(shù)和復(fù)合函數(shù),1. 求反函數(shù) 對于函數(shù)f(x),存在另一個函數(shù)g(.)使得g(f(x)x成立,則函數(shù)g(.)稱為函數(shù)f(x)的反函數(shù)。 g=finverse(f,v) %對指定自變量v的函數(shù)f(v)求反函數(shù) 2. 求復(fù)合函數(shù) 運(yùn)用函數(shù)compose可以求符號函數(shù)f(x)和g(y)的復(fù)合函數(shù)。 compose(f,g,z)%求f(x)和g(y)的復(fù)合函數(shù)f(g(z),3.3.5 符號表達(dá)式的轉(zhuǎn)換,1. 符號表達(dá)式與多項式的轉(zhuǎn)換 構(gòu)成多項式的符號表達(dá)式f(x)可以與多項式系數(shù)構(gòu)成的行向量進(jìn)行相互轉(zhuǎn)換,MATLAB提供了函數(shù)sym2poly和poly2sym實現(xiàn)相互轉(zhuǎn)換。 2. 提取分子和分母 如果符號表達(dá)式是一個有理分式(兩個多項式之比),可以利用numden函數(shù)來提取分子或分母,還可以進(jìn)行通分。 n,d=numden(f),EX:提取分子和分母系數(shù)。 f=sym(1+2*s)/(s2+2*s+1) pretty(f) 1 + 2 s - 2 s + 2 s + 1 n,d=numden(f) n1=sym2poly(n) d1=sym2poly(d),3.4 符號極限、微積分和級數(shù)求和 3.4.1符號極限(Limits),【例3.14】分別求1/x在0處從兩邊趨近、從左邊趨近和從右邊趨近的三個極限值。 f=sym(1/x) limit(f) %對x求趨近于0的極限 limit(f,x,0) %對x求趨近于0的極限 limit(f,x,0,left) %左趨近于0 limit(f,x,0,right) %右趨近于0,3.4.2 符號微分 (Differentiation),函數(shù)diff是用來求符號表達(dá)式的微分。 diff(f) %求f對自由變量的一階微分 diff(f,t)%求f對符號變量t的一階微分 diff(f,n)%求f對自由變量的n階微分 diff(f,t,n)%求f對符號變量t的n階微分,3.4.3 符號積分(Integration),積分有定積分和不定積分,運(yùn)用函數(shù)int可以求得符號表達(dá)式的積分,即找出一個符號表達(dá)式F使得diff(F)=f,也可以說是求微分的逆運(yùn)算。 int(f,t) %求符號變量t的不定積分 int(f,t,a,b) %求符號變量t的定積分 int(f,t,m,n) %求符號變量t的定積分,3.4.4 符號級數(shù),1. symsum函數(shù)(Symbolic Summation) symsum(s,x,a,b) %計算表達(dá)式s的級數(shù)和 說明:x為自變量,x省略則默認(rèn)為對自由變量求和;s為符號表達(dá)式;a,b為參數(shù)x的取值范圍。 2. taylor函數(shù)(Taylor Series) taylor(F,x,n) %求泰勒級數(shù)展開 說明:x為自變量,F(xiàn)為符號表達(dá)式;對F進(jìn)行泰勒級數(shù)展開至n項,參數(shù)n省略則默認(rèn)展開前5項。,3.5 符號積分變換 3.5.1傅里葉變換及其反變換,1. fourier變換 Ffourier(f,t,w)%求時域函數(shù)f(t)的fourier變換F 說明:返回結(jié)果F是符號變量w的函數(shù),f為t的函數(shù)。 2. fourier反變換 f=ifourier (F,w,t) 說明:ifourier函數(shù)的用法與fourier函數(shù)相同。 syms t w F=fourier(1/t,t,w) %fourier變換 F =i*pi*(Heaviside(-w)-Heaviside(w),3.5.2拉普拉斯變換及其反變換,1. Laplace變換 F=laplace(f,t,s) %求時域函數(shù)f的Laplace變換F 說明:返回結(jié)果F為s的函數(shù),當(dāng)參數(shù)s省略,返回結(jié)果F默認(rèn)為s的函數(shù);f為t的函數(shù),當(dāng)參數(shù)t省略,默認(rèn)自由變量為t。 2. Laplace反變換 filaplace(F,s,t) %求F的Laplace反變換f syms a t s F1=laplace(sin(a*t),t,s) %sinat的Laplace變換 F1 =a/(s2+a2),3.5.3 Z變換及其反變換,1. ztrans函數(shù) Fztrans(f,n,z) %求時域序列f的Z變換F 說明:返回結(jié)果F是以符號變量z為自變量;當(dāng)參數(shù)n省略,默認(rèn)自變量為n;當(dāng)參數(shù)z省略,返回結(jié)果默認(rèn)為z的函數(shù)。 2. iztrans函數(shù) fiztrans(F,z,n) %求F的z反變換f syms a n z t Fz3=ztrans(exp(-a*t),n,z) %e-at的Z變換 Fz3 =exp(-a*t)*z/(z-1),3.6 符號方程的求解 3.6.1 代數(shù)方程,MATLAB可以用solve命令給出方程的數(shù)值解。 solve(eq,v)%求方程關(guān)于指定變量的解 solve(eq1, eq2,v1,v2,) %求方程組關(guān)于指定變量的解 例如,解方程: solve(a*x2+b*x+c) solve(a*x2+b*x+c=0) solve(a*x2+b*x+c=0,x),【例3.22】求三元非線性方程組的解。 eq1=sym(x2+2*x+1); eq2=sym(x+3*z=4); eq3=sym(y*z=-1); x,y,z=solve(eq1,eq2,eq3) %解方程組并賦值給x,y,z,x =-1 y =-3/5 z =5/3,3.6.2 符號常微分方程,MATLAB提供了dsolve命令可以用于對符號常微分方程進(jìn)行求解。 dsolve(eq,con,v) %求解微分方程 dsolve(eq1,eq2,con1,con2,v1,v2) %求解微分方程組 說明:con是微分初始條件,可省略;v為指定自由變量,省略時則默認(rèn)為x或t為自由變量。 y的一階導(dǎo)數(shù)為Dy;y的n階導(dǎo)數(shù)表示為Dny 。,EX: y(1)=0,y(0)=0 y=dsolve(x*D2y-3*Dy=x2,x) %求微分方程的通解 y = -1/3*x3+C1+C2*x4 y=dsolve(x*D2y-3*Dy=x2,y(1)=0,y(0)=0,x) %求微分方程的特解 y = -1/3*x3+1/3*x4,3.7 符號函數(shù)的可視化 3.7.2 圖形化的符號函數(shù)計算器,在MATLAB命令窗口輸入命令“funtool”,就會出現(xiàn)該圖形化函數(shù)計算器。,3.8 Maple函數(shù)的使用 3.8.1訪問Maple函數(shù),1. maple函數(shù) maple函數(shù)用于進(jìn)行符號運(yùn)算,并將計算結(jié)果返回到MATLAB的工作空間。 maple(MapleStatement) %運(yùn)行Maple格式的語句MapleStatement maple(fun,arg1,arg2) %運(yùn)行以arg1,arg2為參數(shù)的Maple的fun函數(shù) 2. mfun函數(shù) mfun函數(shù)用于對Maple中的經(jīng)典函數(shù)進(jìn)行數(shù)值運(yùn)算。 mfun(fun,p1,p2,),3.8.2 獲得Maple的幫助,1. mfunlist命

溫馨提示

  • 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

提交評論