第四講 符號(hào)運(yùn)算_第1頁
第四講 符號(hào)運(yùn)算_第2頁
第四講 符號(hào)運(yùn)算_第3頁
第四講 符號(hào)運(yùn)算_第4頁
第四講 符號(hào)運(yùn)算_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第四講符號(hào)運(yùn)算4.1符號(hào)對(duì)象的創(chuàng)建和使用4.2符號(hào)對(duì)象的運(yùn)算4.3符號(hào)表達(dá)式的變換4.4符號(hào)微積分、極限和級(jí)數(shù)4.5符號(hào)積分變換4.6符號(hào)方程的求解4.7符號(hào)函數(shù)的可視化符號(hào)運(yùn)算的對(duì)象是非數(shù)值的符號(hào)對(duì)象,對(duì)于像公式推導(dǎo)和因式分解等抽象的運(yùn)算都可以通過符號(hào)運(yùn)算來解決。MATLAB2006b對(duì)應(yīng)的是SymbolicMathToolbox3.1.5。符號(hào)工具箱能夠?qū)崿F(xiàn)微積分運(yùn)算、線性代數(shù)、表達(dá)式的化簡(jiǎn)、求解代數(shù)方程和微分方程、不同精度轉(zhuǎn)換和積分變換,符號(hào)計(jì)算的結(jié)果可以以圖形化顯示,MATLAB的符號(hào)運(yùn)算功能十分完整和方便。符號(hào)運(yùn)算的特點(diǎn):(1)符號(hào)運(yùn)算以推理解析的方式進(jìn)行,計(jì)算的結(jié)果不受計(jì)算累積誤差影響;(2)符號(hào)計(jì)算可以得出完全正確的封閉解和任意精度的數(shù)值解;(3)符號(hào)計(jì)算命令調(diào)用簡(jiǎn)單;(4)符號(hào)計(jì)算所需要的時(shí)間較長(zhǎng)。4.1符號(hào)對(duì)象的創(chuàng)建和使用創(chuàng)建符號(hào)對(duì)象都可以使用sym和syms函數(shù)來實(shí)現(xiàn)。1.sym函數(shù)S=sym(s,參數(shù)) %由數(shù)值創(chuàng)建符號(hào)對(duì)象S=sym(‘s’,參數(shù))%由字符串創(chuàng)建符號(hào)對(duì)象當(dāng)被轉(zhuǎn)換的s是數(shù)值時(shí),參數(shù)可以是'd'、'f'、'e'或'r'四種格式,當(dāng)被轉(zhuǎn)換的's'是字符串時(shí),參數(shù)可以是'real'、'unreal'和'positive'三種格式2.syms函數(shù)syms(s1,s2,s3,…,參數(shù)) 或 symss1,s2,s3,…,參數(shù)%創(chuàng)建多個(gè)符號(hào)變量syms與sym的關(guān)系是:syms(s1,s2,s3,…,參數(shù))等同于s1=sym('s1',參數(shù)),s2=sym('s2',參數(shù))……3.class函數(shù)s=class(x) %返回對(duì)象x的數(shù)據(jù)類型4.1.2符號(hào)常量和符號(hào)變量符號(hào)常量是不含變量的符號(hào)表達(dá)式,用sym函數(shù)來創(chuàng)建;符號(hào)變量使用sym和syms函數(shù)來創(chuàng)建。例如:>>a1=sym(sin(2)) %用數(shù)值創(chuàng)建符號(hào)常量>>a2=sym(sin(2),'f') %用十六進(jìn)制浮點(diǎn)表示>>a1=sym('a','unreal')%用字符串創(chuàng)建符號(hào)變量練習(xí)4.1.3符號(hào)表達(dá)式符號(hào)表達(dá)式是由符號(hào)常量和符號(hào)變量等構(gòu)成的表達(dá)式,使用sym和syms函數(shù)來創(chuàng)建。例4-3

分別使用sym和syms函數(shù)創(chuàng)建符號(hào)表達(dá)式。>>symsabcx>>f1=a*x^2+b*x+cf1=a*x^2+b*x+c>>f2=sym('y^2+y+1') %創(chuàng)建符號(hào)表達(dá)式f2=y^2+y+1>>f3=sym('sin(z)^2+cos(z)^2=1')%創(chuàng)建符號(hào)方程f3=sin(z)^2+cos(z)^2=14.1.4符號(hào)矩陣符號(hào)矩陣的元素是符號(hào)對(duì)象,符號(hào)矩陣可以用sym和syms函數(shù)來創(chuàng)建。>>A=sym('[a,b;c,d]')A=[a,b][c,d]4.2符號(hào)對(duì)象的運(yùn)算

4.2.1符號(hào)對(duì)象的基本運(yùn)算1.算術(shù)運(yùn)算(1)“+”,“-”,“*”,“\”,“/”,“^”(2)“.*”,“./”,“.\”,“.^”(3)“′”,“.′”2.關(guān)系運(yùn)算只有運(yùn)算符“==”、“~=”分別對(duì)符號(hào)對(duì)象進(jìn)行“相等”、“不等”的比較。3.三角函數(shù)、雙曲函數(shù)和相應(yīng)的反函數(shù)三角函數(shù)包括sin、cos和tan,雙曲函數(shù)包括sinh、cosh和tanh4.指數(shù)和對(duì)數(shù)函數(shù)5.復(fù)數(shù)函數(shù)6.矩陣代數(shù)命令例:>>A=sym('[a,b;c,d]');>>B=sym('[12;34]');>>C=A+BC=[a+1,b+2][c+3,d+4]練習(xí)4.2.2任意精度的算術(shù)運(yùn)算1.符號(hào)工具箱的算術(shù)運(yùn)算方式(1)數(shù)值型(2)有理數(shù)型(3)VPA型2.不同類型對(duì)象的轉(zhuǎn)換(1)獲得VPA型對(duì)象digits(n) %設(shè)定n位有效位數(shù)的精度S=vpa(s,n) %將s按n位有效位數(shù)計(jì)算得出符號(hào)對(duì)象S例:>>digits %顯示默認(rèn)精度Digits=32>>q=sym('sqrt(2)')q=sqrt(2)>>q=vpa(q) %按默認(rèn)精度計(jì)算并顯示q=1.4142135623730950488016887242097(2)獲得數(shù)值型對(duì)象

n=double(s) %將符號(hào)對(duì)象s轉(zhuǎn)換為雙精度數(shù)值對(duì)象n(3)不同類型對(duì)象轉(zhuǎn)換關(guān)系4.3符號(hào)表達(dá)式的變換

4.3.1符號(hào)表達(dá)式中的自由符號(hào)變量1.自由符號(hào)變量的確定以下原則來選擇一個(gè)自由符號(hào)變量:符號(hào)表達(dá)式中的多個(gè)符號(hào)變量,按以下順序來選擇自由符號(hào)變量:首先選擇x,如果沒有x,則選擇在字母表順序中最接近x的字符變量,如果字母與x的距離相同,則在x后面的優(yōu)先;字母pi、i和j不能作為自由符號(hào)變量;大寫字母比所有的小寫字母都靠后。2.findsym函數(shù)findsym(S,n) %確定符號(hào)對(duì)象S中的n個(gè)自由符號(hào)變量練習(xí)4.3.2符號(hào)表達(dá)式的化簡(jiǎn)多項(xiàng)式的符號(hào)表達(dá)式有多種形式,例如,f(x)=x3+6x2+11x-6可以表示為:合并同類項(xiàng)形式:f(x)=x3+6x2+11x-6

因式分解形式:f(x)=(x-1)(x-2)(x-3)

嵌套形式:f(x)=x(x(x-6)+11)-6

1.collect函數(shù)collect函數(shù)用來將符號(hào)表達(dá)式中同類項(xiàng)合并:S=collect(s,符號(hào)變量) %將s中符號(hào)變量的同次冪合并2.expand函數(shù)expand函數(shù)將符號(hào)表達(dá)式中的各項(xiàng)進(jìn)行展開,展開成多項(xiàng)式和的形式,多用于多項(xiàng)式、三角函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的展開。>>symsxt>>f1=(x-1)*(x-2)*(x-3);>>g1=collect(f1) %按x合并同類項(xiàng)g1=-6+x^3-6*x^2+11*x>>g1=expand(f1) %多項(xiàng)式展開g1=-6+x^3-6*x^2+11*x3.horner函數(shù)horner函數(shù)將符號(hào)表達(dá)式化簡(jiǎn)成嵌套的形式。4.factor函數(shù)factor函數(shù)將符號(hào)多項(xiàng)式進(jìn)行因式分解,將多項(xiàng)式分解成低階多項(xiàng)式相乘,如果不能分解則返回原來的符號(hào)多項(xiàng)式。>>symsxt>>f1=x^3-6*x^2+11*x-6;>>g1=horner(f1) %轉(zhuǎn)換為嵌套形式g1=-6+(11+(-6+x)*x)*x>>g12=factor(f1)g12=(x-1)*(x-2)*(x-3)5.pretty函數(shù)pretty函數(shù)將符號(hào)表達(dá)式給出排版形式的輸出結(jié)果。練習(xí)6.simplify函數(shù)simplify函數(shù)是一個(gè)功能強(qiáng)大的函數(shù),利用各種形式的代數(shù)恒等式對(duì)符號(hào)表達(dá)式進(jìn)行化簡(jiǎn),包括求和、分解、積分、冪、三角、指數(shù)、對(duì)數(shù)、Bessel以及超越函數(shù)等方法來簡(jiǎn)化表達(dá)式。7.simple函數(shù)找出字符最少的簡(jiǎn)化表達(dá)式,simple函數(shù)適用于三角函數(shù)化簡(jiǎn)。例:>>symsxy>>f2=cos(x)^2+sin(x)^2;>>g2=simplify(f2)g2=1>>simple(f)4.3.4計(jì)算反函數(shù)和復(fù)合函數(shù)1.反函數(shù)函數(shù)f(x)存在一個(gè)反函數(shù)g(.),g(f(x))=x,則g和f互為反函數(shù)g=finverse(f,v)%對(duì)f(v)按指定自變量v求反函數(shù)例:>>symsxy>>f=5*sin(x)+y;>>g1=finverse(f,'y') %對(duì)y求反函數(shù)g1=-5*sin(x)+y2.復(fù)合函數(shù)MATLAB7.3提供了compose函數(shù)可以求出f(x)和g(y)的復(fù)合函數(shù)f(g(y))。compose(f,g,x,y,z) %計(jì)算f和g的復(fù)合函數(shù)例:>>symsxytvn>>f=x+y;>>g=t*v;>>y1=compose(f,g) %以x為符號(hào)變量求復(fù)合函數(shù)y1=t*v+y>>y4=compose(f,g,y,t,'n')%以n代替t求復(fù)合函數(shù)f(g(n))y4=x+n*v4.3.5多項(xiàng)式符號(hào)表達(dá)式1.多項(xiàng)式符號(hào)表達(dá)式的通分[N,D]=numden(s)%提取多項(xiàng)式符號(hào)表達(dá)式s的分子和分母2.符號(hào)表達(dá)式與多項(xiàng)式的互換c=sym2poly(s)%將符號(hào)表達(dá)式s轉(zhuǎn)換為行向量cr=poly2sym(c,v)%將行向量c轉(zhuǎn)換為符號(hào)表達(dá)式r例:>>f1=sym('1/(x-1)+1/(x+1)+3');>>[N1,D1]=numden(f1)N1=2*x+3*x^2-34.4.1符號(hào)表達(dá)式的微積分1.微分diff(f,t,n)%計(jì)算f對(duì)符號(hào)變量t的n階微分例4-18

計(jì)算符號(hào)表達(dá)式f=sin(ax)+y2cos(x)的微分。>>symsaxy>>f=sin(a*x)+y^2*cos(x);>>dfdx=diff(f) %對(duì)默認(rèn)自由變量x求一階微分dfdx=cos(a*x)*a-y^2*sin(x)>>dfdy2=diff(f,y,2) %對(duì)符號(hào)變量y求二階微分dfdy2=2*cos(x)2.積分int(f,t,a,b) %計(jì)算符號(hào)變量t的積分說明:f為符號(hào)表達(dá)式;t為積分符號(hào)變量,可以省略,當(dāng)t省略時(shí)則指默認(rèn)自由符號(hào)變量;a和b是為積分上下限[ab],可以省略,省略時(shí)計(jì)算的是不定積分。例:>>symsarphi>>g=r^2*(sin(phi))^2;>>f=int(int(g,r,0,a),phi,0,2*pi)f=2*sin(a*x)*a*pi+2*y^2*cos(x)*a*pi練習(xí)4.4.2符號(hào)表達(dá)式的極限極限:limt(f,x,a)例4-22

使用limit函數(shù)計(jì)算符號(hào)表達(dá)式的極限,和>>symst>>f1=exp(-t)*sin(t);>>ess=limit(f1,t,inf) %計(jì)算趨向無窮大的極限ess=0>>limitf2_l=limit(f2,'t','0','left') %計(jì)算趨向0的左極限limitf2_l=-Inf>>limitf2_r=limit(f2,'t','0','right') %計(jì)算趨向0的右極限limitf2_r=Inf>>limitf2=limit(f2) %計(jì)算趨向0的極限limitf2=NaN左右極限不相等,極限不存在表示為NaN

4.4.3符號(hào)表達(dá)式的級(jí)數(shù)1.級(jí)數(shù)求和symsum(s,x,a,b) %計(jì)算表達(dá)式s當(dāng)x從a到b的級(jí)數(shù)和2.taylor級(jí)數(shù)taylor(f,x,n,x0) %求泰勒級(jí)數(shù)以符號(hào)變量x在x0點(diǎn)展開n項(xiàng)4.5符號(hào)積分變換

4.5.1Fourier變換F=fourier(f,t,w)%求以t為符號(hào)變量f的fourier變換Ff=ifourier(F,w,t)%求以w為符號(hào)變量的F的fourier反變換f例4-25

使用fourier和ifourier函數(shù)對(duì)符號(hào)表達(dá)式sin(x)進(jìn)行積分變換。>>symsx>>f1=sin(x);>>ff1=fourier(f1) %fourier變換ff1=i*pi*(-dirac(w-1)+dirac(w+1))>>if1=ifourier(ff1) %fourier反變換if1=sin(x)4.5.2Laplace變換F=laplace(f,t,s)%求以t為變量f的Laplace變換Ff=ilaplace(F,s,t)%求以s為變量的F的Laplace反變換f例:>>symstws>>f2=t;>>lf1=laplace(heaviside(t)) %對(duì)單位階躍函數(shù)求laplace變換lf1=1/s4.5.3Z變換F=ztrans(f,n,z) %求以n為變量的f的Z變換Ff=iztrans(F,z,n)%求以z為變量的F的z反變換f例:>>symsknzt>>zf1=ztrans(heaviside(t),n,z)%對(duì)單位階躍函數(shù)求Z變換zf1=heaviside(t)*z/(z-1)4.6符號(hào)方程的求解

4.6.1代數(shù)方程的求解一般的代數(shù)方程包括線性方程、非線性方程和超越方程。當(dāng)方程不存在解析解又無其他自由參數(shù)時(shí),MATLAB提供了solve函數(shù)得出方程的數(shù)值解。solve('eqn','v')%求方程關(guān)于指定變量v的解solve(‘eqn1’,‘eqn2’,…‘v1’,‘v2’,…) %

溫馨提示

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

評(píng)論

0/150

提交評(píng)論