版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第3章 MATLAB符號計算,,,,,3 . 1 符號表達式的建立,3 . 2 符號表達式的代數(shù)運算,3 . 3 符號表達式的操作和轉(zhuǎn)換,3 . 4 符號極限、微積分和級數(shù)求和,,3 . 5 符號積分變換,,3 . 6 符號方程的求解,,3 . 7 符號函數(shù)的可視化,,3 . 8 MuPAD的使用,,3 . 1 符號表達式的建立,3.1.1 創(chuàng)建符號常量符號常量是不含變量的符號表達式,用sym命令創(chuàng)建符號常量。語
2、法:sym('常量') %創(chuàng)建符號常量 例如,創(chuàng)建符號常量,這種用sym命令的方式可以表示絕對準確的符號數(shù)值:>> a=sym('sin(2)')a =sin(2)sym命令也可以把數(shù)值轉(zhuǎn)換成為某種格式的符號常量。語法:sym(常量,參數(shù))%把常量按某種格式轉(zhuǎn)換為符號常量,3.1.1 創(chuàng)建符號常量,說明:參數(shù)可以選擇為'd'、'f
3、9;、'e'或'r' 4種格式,也可省略,其作用如表3.1所示。,,3.1.1 創(chuàng)建符號常量,【例3.1】 創(chuàng)建數(shù)值常量和符號常量。>> a1=2*sqrt(5)+pi %創(chuàng)建數(shù)值常量a1 = 7.6137>> a2=sym('2*sqrt(5)+pi') %創(chuàng)建符號常量a2 =pi + 2*5^(1/2)>> a3
4、=sym(2*sqrt(5)+pi) %按最接近的有理數(shù)型表示符號常量a3 =2143074082783949/281474976710656>> a4=sym(2*sqrt(5)+pi,'d') %按最接近的十進制浮點數(shù)表示符號常量a4 =7.6137286085893727261009189533070>> a31=a3?a1 %數(shù)值常量和符號常量的計算a31
5、 =0>> a5='2*sqrt(5)+pi' %字符串常量a5 =2*sqrt(5)+pi,3.1.1 創(chuàng)建符號常量,可以通過工作空間查看各變量的數(shù)據(jù)類型和存儲空間,工作空間窗口如圖3.1所示。,,3.1.2 創(chuàng)建符號變量和符號表達式,1.使用sym命令創(chuàng)建符號變量和表達式語法:sym('變量',參數(shù)) %把變量定義為符號對象【例3.2】 創(chuàng)建符號變量,
6、用參數(shù)設置其特性。>> syms x y real %創(chuàng)建實數(shù)符號變量>> z=x+i*y; %創(chuàng)建z為復數(shù)符號變量>> real(z) %復數(shù)z的實部是實數(shù)xans =x>> sym('x','unreal'); %清除符號變量的實數(shù)特性>> real(z) %復數(shù)z的實部ans =
7、x/2 + conj(x)/2,,3.1.2 創(chuàng)建符號變量和符號表達式,程序分析:設置x、y為實數(shù)型變量,可以確定z的實部和虛部。語法:sym('表達式') %創(chuàng)建符號表達式【例3.2續(xù)】 創(chuàng)建符號表達式。>> f1=sym('a*x^2+b*x+c') f1 =a*x^2+b*x+c,,3.1.2 創(chuàng)建符號變量和符號表達式,2.使用syms命令創(chuàng)建符號變量和
8、符號表達式語法:syms('arg1', ' arg2',…,參數(shù)) %把字符變量定義為符號變量syms arg1 arg2 …,參數(shù) %把字符變量定義為符號變量的簡潔形式【例3.2續(xù)】 使用syms命令創(chuàng)建符號變量和符號表達式。>> syms a b c x %創(chuàng)建多個符號變量>> f2=a*x^2+b*x+c %創(chuàng)建符號表達式f2 =a
9、*x^2+b*x+c>> syms('a','b','c','x') >> f3=a*x^2+b*x+c; %創(chuàng)建符號表達式,,,3.1.3 符號矩陣,例如,使用sym命令創(chuàng)建的符號矩陣。>> A=sym('[a,b;c,d]')A =[ a, b][ c, d]例如,使用syms命令創(chuàng)建相同的符
10、號矩陣。>> syms a b c d>> A=[a b;c d]A =[ a, b][ c, d],,3.1.3 符號矩陣,【例3.3】 比較符號矩陣與字符串矩陣的不同。>> A=sym('[a,b;c,d]') %創(chuàng)建符號矩陣A =[ a, b][ c, d]>> B='[a,b;c,d]' %創(chuàng)建字符串矩陣B
11、=[a,b;c,d]>> C=[a,b;c,d] %創(chuàng)建數(shù)值矩陣??? Undefined function or variable 'a'.,,3.1.3 符號矩陣,程序分析:由于數(shù)值變量a、b、c、d未事先賦值,MATLAB給出錯誤信息。>> C=sym(B) %轉(zhuǎn)換為符號矩陣C =[ a, b][ c, d]>> whos Name
12、 Size Byte Class A 2x2 60 sym B 1x9 18 char C 2x2 60 sym Grand total is 25 elements using 642
13、 Byte,3 . 2 符號表達式的代數(shù)運算,3.2.1 符號表達式的代數(shù)運算1.符號運算中的運算符符號運算中的運算符有以下2種。(1)基本運算符。(2)關系運算符。2.函數(shù)運算(1)三角函數(shù)和雙曲函數(shù)。(2)指數(shù)和對數(shù)函數(shù)。(3)復數(shù)函數(shù)。(4)矩陣代數(shù)命令。,,,3.2.1 符號表達式的代數(shù)運算,【例3.4】 求矩陣 的行列式值、非共軛轉(zhuǎn)置和特征值。>
14、;> syms a11 a12 a21 a22>> A=[a11 a12;a21 a22] %創(chuàng)建符號矩陣A =[ a11, a12][ a21, a22]>> det(A) %計算行列式ans =a11*a22?a12*a21>> A.' %計算非共軛轉(zhuǎn)置ans =[ a11, a21][ a12, a22]>> ei
15、g(A) %計算特征值ans =[ 1/2*a22+1/2*a11+1/2*(a22^2?2*a11*a22+a11^2+4*a12*a21)^(1/2)][ 1/2*a22+1/2*a11?1/2*(a22^2?2*a11*a22+a11^2+4*a12*a21)^(1/2)],,,3.2.1 符號表達式的代數(shù)運算,【例3.5】 符號表達式f=2x2+3x+4與g=5x+6的代數(shù)運算。>> f=sy
16、m('2*x^2+3*x+4')f =2*x^2+3*x+4>> g=sym('5*x+6')g =5*x+6>> f+g %符號表達式相加ans =2*x^2+8*x+10>> f*g %符號表達式相乘ans =(5*x+6)*(2*x^2+3*x+4),3.2.2 符號數(shù)值任意精度控制和運算,1.Symbolic
17、 Math Toolbox中的算術運算方式在Symbolic Math Toolbox中有3種不同的算術運算。(1)數(shù)值型:MATLAB的浮點運算。(2)有理數(shù)型:精確符號運算。(3)VPA型:任意精度運算。2.任意精度控制任意精度的VPA型運算可以使用digits和vpa命令來實現(xiàn)。語法:digits(n) %設定默認的精度語法:S=vpa(s,n) %將s表示為n位有效位數(shù)的符號對象,,3.2.2
18、 符號數(shù)值任意精度控制和運算,【例3.6】 對表達式 進行任意精度控制的比較。>> a=sym('2*sqrt(5)+pi')a =pi + 2*5^(1/2)>> digits %顯示默認的有效位數(shù) Digits = 32 >> vpa(a) %用默認的位數(shù)計算并顯示ans =7.6137286085893726312809907207421
19、>> vpa(a,20) %按指定的精度計算并顯示ans =7.6137286085893726313>> digits(15) %改變默認的有效位數(shù)>> vpa(a) %按digits指定的精度計算并顯示ans =7.61372860858937,,3.2.2 符號數(shù)值任意精度控制和運算,3.Symbolic Math Toolbox中的3種運算方式的比
20、較【例3.6續(xù)】 用3種運算方式表達式比較2/3的結(jié)果。>>a1 =2/3 %數(shù)值型a1 = 0.6667>>a2 = sym(2/3) %有理數(shù)型a2 =2/3>> digits Digits = 32>> a3 =vpa('2/3',32) %VPA型a3 =.666666666666666666666
21、66666666667,,3.2.2 符號數(shù)值任意精度控制和運算,程序分析:(1)3種運算方式中數(shù)值型運算的速度最快。(2)有理數(shù)型符號運算的計算時間最長和占用內(nèi)存最大,產(chǎn)生的結(jié)果非常準確。(3)VPA型的任意精度符號運算比較靈活,可以設置任意有效精度,當保留的有效位數(shù)增加時,每次運算的時間和使用的內(nèi)存也會增加。(4)數(shù)值型變量a1結(jié)果顯示的有效位數(shù)并不是存儲的有效位數(shù),在本書第1章中曾介紹顯示的有效位數(shù)由“format”命令
22、控制,如下面修改的format命令就改變了顯示的有效位數(shù):>> format long>> a1a1 = 0.66666666666667,3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換,1.將數(shù)值對象轉(zhuǎn)換為符號對象前面已經(jīng)介紹了sym命令可以把數(shù)值型對象轉(zhuǎn)換成為有理數(shù)型符號對象,vpa命令可以將數(shù)值型對象轉(zhuǎn)換為任意精度的VPA型符號對象。2.將符號對象轉(zhuǎn)換為數(shù)值對象使用double函數(shù)可以將有理數(shù)型和
23、VPA型符號對象轉(zhuǎn)換成為數(shù)值對象。語法:N=double(S) %將符號變量S轉(zhuǎn)換為數(shù)值變量N,,3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換,【例3.7】 將符號變量 與數(shù)值變量進行轉(zhuǎn)換。>> a1=sym('2*sqrt(5)+pi')a =pi + 2*5^(1/2)>> b1=double(a1) %轉(zhuǎn)換為數(shù)值變量b1 = 7.6137>>
24、a2=vpa(sym('2*sqrt(5)+pi'),32)a2 = 7.6137286085893726312809907207421 >> b2=double(a2) %轉(zhuǎn)換為數(shù)值變量b2 = 7.6137,,,3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換,【例3.7續(xù)】 由符號變量得出數(shù)值結(jié)果。>> b3=eval(a1)b3 = 7.6137用“whos”命
25、令查看變量的類型,可以看到b1、b2、b3都可以轉(zhuǎn)換為雙精度型。>> whos Name Size Byte Class a1 1x1 60 sym a2 1x1 60 sym b1 1x1
26、 8 double b2 1x1 8 double b3 1x1 8 double,,3 . 3 符號表達式的操作和轉(zhuǎn)換,3.3.1 符號表達式中自由變量的確定1.自由變量的確定原則(1)小寫字母i和j不能作為自由變量。(2)符號表達式中如果
27、有多個符號變量,則按照以下順序選擇自由變量:首先選擇x作為自由變量;如果沒有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。(3)大寫字母比所有小寫字母都靠后。例如:x^2+a*x+b的自由符號變量是x;a*(sin(t)+b*cos(w*t))的自由符號變量是w;a*theta的自由符號變量是theta;i+a*j的自由符號變量是a。,,3.3.1 符號表達式中自由變量的確定,2.symva
28、r函數(shù)symvar函數(shù)用來決定表達式中的符號變量。語法:symvar(EXPR)%確定自由符號變量【例3.8】 得出符號表達式中的符號變量。>> f=sym('a*x^2+b*x+c')f =a*x^2+b*x+c>> s=symvar(f) %得出所有的符號變量s =[ a, b, c, x]>>s1=symvar(f,1)%得出第1
29、個符號變量s1 =x>>symvar 'cos(pi*x - beta1)'ans = 'beta1''x',,3.3.1 符號表達式中自由變量的確定,3.findsym函數(shù)如果不確定符號表達式中的自由符號變量,則可以用findsym函數(shù)自動確定。語法:findsym(EXPR,n)說明:EXPR可以是符號表達式或符號矩陣;n為按順序得出符號變量的
30、個數(shù),當n省略時,則不按順序得出EXPR中所有的符號變量。>> g=sym('sin(z)+cos(v)');>> findsym(g,1) %得出第1個符號變量ans =z,,3.3.2 符號表達式的化簡,(1)多項式形式的表達方式:f(x)=x3+6x2+11x?6 (2)因式形式的表達方式:f(x)=(x?1)(x?2)(x?3) (3)嵌套形式的表達方式:f
31、(x)=x(x(x?6)+11) ?6 【例3.9】 3種形式的符號表達式的表示。>> f=sym('x^3?6*x^2+11*x?6')%多項式形式f =x^3?6*x^2+11*x?6>> g= sym('(x?1)*(x?2)*(x?3)') %因式形式g =(x?1)*(x?2)*(x?3)>> h= sym(' x*
32、(x*(x?6)+11) ?6') %嵌套形式h =x*(x*(x?6)+11) ?6,3.3.2 符號表達式的化簡,MATLIB提供了pretty 、collect、expand、horner和factor函數(shù),可以對符號表達式進行化簡,如表3.2所示。,,3.3.2 符號表達式的化簡,1.simplify函數(shù)simplify函數(shù)功能強大,利用各種形式的代數(shù)恒等式對符號表達式進行化簡,包括求和、分解、積分、冪、
33、三角、指數(shù)和對數(shù)函數(shù)等。【例3.9】 利用三角函數(shù)簡化符號表達式cos2x?sin2x。>> y=sym('cos(x)^2?sin(x)^2')y =cos(x)^2?sin(x)^2>> simplify(y)ans =2*cos(x)^2?1,3.3.2 符號表達式的化簡,2.simple函數(shù)simple 函數(shù)給出多種簡化形式,給出除了pretty 、collect、ex
34、pand、factor、simplify簡化形式之外的radsimp、combine、combine(trig)、convert形式,并尋求包含最少數(shù)目字符的表達式簡化形式?!纠?.9續(xù)】 利用simple簡化符號表達式cos2x?sin2x。,3.3.3 符號表達式的替換,1.subexpr函數(shù)符號表達式有時因為子表達式多次出現(xiàn)而顯得煩冗,可以通過使用subexpr函數(shù)替換子表達式來化簡。語法:subexpr(s,s1)
35、 %用符號變量s1置換s中的子表達式2.subs函數(shù)subs函數(shù)可用來進行對符號表達式中符號變量的替換。語法:subs(s)%用給定值替換符號表達式s中的所有變量subs(s,new)%用new替換符號表達式s中的自由變量subs(s,old,new) %用new替換符號表達式s中的old變量,,3.3.3 符號表達式的替換,【例3.10】 用subs函數(shù)對符號表達式(x+y)2+3(x+y)+5進
36、行替換。>> syms a b c d x>> f=sym('(x+y)^2+3*(x+y)+5') %創(chuàng)建符號表達式f =3*x + 3*y + (x + y)^2 + 5>> x=5;>> f1=subs(f) %用5替換xf1 =3*y + (y + 5)^2 + 20>> f2=subs(f,'x+y',
37、39;s') %用s替換x+yf2 =s^2 + 3*x + 3*y + 5>> f3=subs(f,'x+y',5) %用常數(shù)5替換x+yf3 =3*x + 3*y + 30>> f4=subs(f,'x','z') %用z替換xf4 =3*y + 3*z + (y + z)^2 + 5,,3.3.4 求反函數(shù)和復合
38、函數(shù),1.求反函數(shù)對于函數(shù)f(x),若存在另一個函數(shù)g(.),使得g(f(x))=x成立,則函數(shù)g(.)稱為函數(shù)f(x)的反函數(shù)。在MATLAB中,finverse函數(shù)可以求得符號函數(shù)的反函數(shù)。語法:finverse(f,v) %對指定自變量v的函數(shù)f(v)求反函數(shù)【例3.11】 求tex的反函數(shù)。>> f=sym('t*e^x') %原函數(shù)f = t*e^x>>
39、 g=finverse(f) %對默認自由變量求反函數(shù)g =log(x/t)/log(e)>> g=finverse(f,'t') %對t求反函數(shù)g =t/(e^x)程序分析:如果先定義t為符號變量,則參數(shù)'t'的單引號可去掉。>> syms t>> g=finverse(f,t),,3.3.4 求反函數(shù)和復合函數(shù),2.求復合函數(shù)運用
40、函數(shù)compose可以求符號函數(shù)f(x)和g(y)的復合函數(shù)。語法:compose(f,g) %求f(x)和g(y)的復合函數(shù)f(g(y))compose(f,g,z) %求f(x)和g(y)的復合函數(shù)f(g(z))【例3.11續(xù)】 計算tex與ay2+by+c的復合函數(shù)。>> f=sym('t*e^x'); %創(chuàng)建符號表達式>> g=sym('a
41、*y^2+b*y+c'); %創(chuàng)建符號表達式>> h1=compose(f,g) %計算f(g(x))h1 =t*e^(a*y^2+b*y+c)>> h2=compose(g,f) %計算g(f(x))h2 =a*t^2*(e^x)^2+b*e^x+c>> h3=compose(f,g,'z') %計算f(g(z))h3 =t*
42、e^(a*z^2+b*z+c)語法:compose(f,g,x,z) %以x為自變量構(gòu)成復合函數(shù)f(g(z))compose(f,g,x,y,z) %以x為自變量構(gòu)成復合函數(shù)f(g(z)),并用z替換y,,3.3.4 求反函數(shù)和復合函數(shù),【例3.11續(xù)】 計算得出tex與y2的復合函數(shù)。>> f1=sym('t*e^x');>> g1=sym('y^2');&
43、gt;> h1=compose(f1,g1)h1 =t*e^(y^2)>> h2=compose(f1,g1,'z') %計算f(g(z))h2 =t*e^(z^2)>> h3=compose(f1,g1,'t','y') %以t為自變量計算f(g(z))h3 =y^2*e^x>> h4=compose(f1,g1
44、,'t','y','z') %以t為自變量計算f(g(z)),并用z替換yh4 =z^2*e^x>> h5=subs(h3,'y','z') %用替換的方法實現(xiàn)h5與h4有相同結(jié)果h5 =(z)^2*e^x,,3.3.5 符號表達式的轉(zhuǎn)換,1.符號表達式與多項式的轉(zhuǎn)換(1)sym2poly函數(shù)。sym2poly函數(shù)用來將構(gòu)成多
45、項式的符號表達式轉(zhuǎn)換為按降冪排列的行向量?!纠?.12】 將符號表達式2x+3x2+1轉(zhuǎn)換為行向量。>> f=sym('2*x+3*x^2+1')f =2*x+3*x^2+1>> sym2poly(f) %轉(zhuǎn)換為按降冪排列的行向量ans = 3 2 1>> f1=sym('a*x^2+b*x+c')f1 =a*x^2
46、+b*x+c>> sym2poly(f1)??? Error using ==> sym/sym2polyInput has more than one symbolic variable.,,3.3.5 符號表達式的轉(zhuǎn)換,(2)poly2sym函數(shù)。poly2sym函數(shù)與sym2poly函數(shù)相反,用來將按降冪排列的行向量轉(zhuǎn)換為符號表達式?!纠?.12續(xù)】 將行向量轉(zhuǎn)換為符號表達式。>> g=
47、poly2sym([1 3 2]) %默認x為符號變量的符號表達式g =x^2+3*x+2>> g=poly2sym([1 3 2],sym('y')) %y為符號變量的符號表達式g =y^2+3*y+2,3.3.5 符號表達式的轉(zhuǎn)換,2.提取分子和分母如果符號表達式是1個有理分式(兩個多項式之比),可以利用numden函數(shù)提取分子或分母,還可以進行通分。語法:[n,d]=numde
48、n(f),,,,3.3.5 符號表達式的轉(zhuǎn)換,【例3.13】 用numden函數(shù)提取符號表達式 和 的分子、分母。>> f1=sym('1/(s^2+3*s+2)')f1 =1/(s^2+3*s+2)>> f2=sym('1/s^2+3*s+2')f2 =1/s^2+3*s+2>> [n1,d
49、1]=numden(f1)n1 =1d1 =s^2+3*s+2>> [n2,d2]=numden(f2)n2 =1+3*s^3+2*s^2d2 =s^2,,,3 . 4 符號極限、微積分和級數(shù)求和,3.4.1 符號極限假定符號表達式的極限存在,Symbolic Math Toolbox提供了直接求表達式極限的函數(shù)limit,函數(shù)limit的基本用法如表3.3所示。,,3.4.1 符號極限,【例3.1
50、4】 分別求1/x在0處從兩邊趨近、從左邊趨近和從右邊趨近的3個極限值。>> f=sym('1/x')f =1/x>> limit(f) %對x求趨近于0的極限ans =NaN>> limit(f,'x',0) %對x求趨近于0的極限ans =NaN>> limit(f,'x',0,'lef
51、t') %左趨近于0ans =?inf>> limit(f,'x',0,'right') %右趨近于0ans =inf,,,3.4.1 符號極限,采用極限方法也可以求函數(shù)的導數(shù): ?!纠?.14續(xù)】 求函數(shù)cos(x)的導數(shù)。>> syms t x
52、>> limit((cos(x+t) ?cos(x))/t,t,0)ans =?sin(x),,,3.4.2 符號微分,函數(shù)diff是用來求符號表達式的微分。語法:diff(f)%求f對自由變量的一階微分diff(f,t)%求f對符號變量t的一階微分diff(f,n)%求f對自由變量的n階微分diff(f,t,n) %求f對符號變量t的n階微分,,3.4.2 符號微分,【例3.1
53、5】 已知f(x)=ax2+bx+c,求f(x)的微分。>> f=sym('a*x^2+b*x+c')f =a*x^2+b*x+c>> diff(f) %對默認自由變量x求一階微分ans =2*a*x+b>> diff(f,'a') %對符號變量a求一階微分ans =x^2>> diff(f,'x',2)
54、 %對符號變量x求二階微分ans =2*a>> diff(f,3) %對默認自由變量x求三階微分ans =0,,,3.4.2 符號微分,【例3.15續(xù)】 對符號矩陣 求微分。>> syms t x>> g=[2*x t^2;t*sin(x) exp(x)] %創(chuàng)建符號矩陣g =[ 2*x, t^2
55、][ t*sin(x), exp(x)]>> diff(g) %對默認自由變量x求一階微分ans =[ 2, 0][ t*cos(x), exp(x)]>> diff(g,'t') %對符號變量t求一階微分ans =[ 0, 2*t][ sin(x), 0]>> diff(g,2)
56、%對默認自由變量x求二階微分ans =[ 0, 0][?t*sin(x), exp(x)],,,3.4.2 符號微分,【例3.15續(xù)】 可以使用diff計算向量間元素的差值。>> x1=0:0.5:2;>> y1=sin(x1)y1 = 0 0.4794 0.8415 0.9975 0.9093>> dif
57、f(y1) %計算元素差ans = 0.4794 0.3620 0.1560 ?0.0882,,3.4.3 符號積分,積分分為定積分和不定積分。運用函數(shù)int可以求得符號表達式的積分,即找出一個符號表達式F,使得diff(F)=f,也可以說是求微分的逆運算。語法:int(f, 't') %求符號變量t的不定積分int(f, 't',a,b)
58、%求符號變量t的積分int(f, 't', 'm', 'n') %求符號變量t的積分,,,,3.4.3 符號積分,【例3.16】 求 和 的積分。>> f=sym('cos(x)');>> int(f) %求不定積分ans =sin(x)>> int(f,0
59、,pi/3) %求定積分ans =1/2*3^(1/2)>> int(f,'a','b') %求定積分ans =sin(b) ?sin(a)>> int(int(f)) %求多重積分ans =?cos(x)diff和int命令也可以直接對字符串f進行運算。>> f='cos(x)';,,,,,3.4.3
60、 符號積分,【例3.16續(xù)】 求符號矩陣 的積分。>> syms t x>> g=[2*x t^2;t*sin(x) exp(x)] %創(chuàng)建符號矩陣g =[ 2*x, t^2][ t*sin(x), exp(x)]>> int(g) %對x求不定積分ans =[ x^2,
61、 t^2*x][?t*cos(x), exp(x)]>> int(g,'t') %對t求不定積分ans =[ 2*x*t, 1/3*t^3][ 1/2*t^2*sin(x), exp(x)*t]>> int(g,sym('a'),sym('b')) %對x求定積分ans =[
62、 b^2 - a^2, -t^2*(a - b)][ t*(cos(a) - cos(b)), exp(b) - exp(a)],,,,3.4.4 符號級數(shù),1.symsum函數(shù)語法:symsum(s,x,a,b)%計算表達式s的級數(shù)和【例3.17】 求級數(shù) 和1+x+x2+…+xk+…的和。>&
63、gt; syms x k>> s1=symsum(1/k^2,1,10) %計算級數(shù)的前10項和s1 =1968329/1270080>> s2=symsum(1/k^2,1,inf) %計算級數(shù)和s2 =1/6*pi^2>> s3=symsum(x^k,'k',0,inf) %計算對k為自變量的級數(shù)和s3 =?1/(x?1),,,,3.4.4 符
64、號級數(shù),2.taylor函數(shù)泰勒級數(shù)的計算使用taylor函數(shù) 。語法:taylor (F,x,n) %求泰勒級數(shù)展開【例3.17續(xù)】 求ex的泰勒展開式為: 。>> syms x
65、>> s1=taylor(exp(x),8) %展開前8項s1 =1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5+1/720*x^6+1/5040*x^7>> s2=taylor(exp(x)) %默認展開前5項s2 =1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5,,3.4.4 符號級數(shù),泰勒級數(shù)還可以使用可視化的泰勒級
66、數(shù)計算器,在命令窗口中輸入命令“taylortool”,就會出現(xiàn)泰勒級數(shù)計算器窗口,如圖3.2所示。,,3 . 5 符號積分變換,3.5.1 傅里葉變換及其反變換時域中的f(t)與頻域中的Fourier變換F(?)之間的關系如下:,,,3.5.1 傅里葉變換及其反變換,1.Fourier變換語法:F=fourier(f,t ,?) %求時域函數(shù)f(t)的Fourier變換F2.Fourier反變換語法:f=if
67、ourier (F,? ,t) %求頻域函數(shù)F的Fourier反變換f(t),,,,3.5.1 傅里葉變換及其反變換,【例3.18】 計算f(t) = 的Fourier變換F及F的Fourier反變換。>> syms t w>> F=fourier(1/t,t,w) %Fourier變換F =pi*(2*heaviside(-w) - 1)*i>> f=ifouri
68、er(F,t) %Fourier反變換f =1/t>> f=ifourier(F) %Fourier反變換默認x為自變量f =1/x程序分析: Heaviside(t)是單位階躍函數(shù) ,函數(shù)名為數(shù)學家Heaviside的名字。,,,,,3.5.1 傅里葉變換及其反變換,【例3.18續(xù)】 單位階躍函數(shù)的Fourier變換。>> fourier(sym(
69、'1'))ans =2*pi*dirac(-w),,3.5.2 拉普拉斯變換及其反變換,Laplace變換和反變換的定義為:,,,,3.5.2 拉普拉斯變換及其反變換,1.Laplace變換語法:F=laplace(f,t,s) %求時域函數(shù)f的Laplace變換F【例3.19】 求sin(at)和階躍函數(shù)的Laplace變換。>> syms a t s>> F1=la
70、place(sin(a*t),t,s) %求sin(at)的Laplace變換F1 =a/(s^2+a^2)>> F2=laplace(sym(1)) %求階躍函數(shù)的Laplace變換F2 =1/s,,3.5.2 拉普拉斯變換及其反變換,2.Laplace反變換語法:f=ilaplace(F,s,t)%求F的Laplace反變換f【例3.20】 輸入信號r(t)=1,系統(tǒng)傳遞函數(shù)
71、 ,C(s)=R(s)*G(s),求輸出波形c(t),輸出波形如圖3.3所示。,,,3.5.2 拉普拉斯變換及其反變換,首先計算C(s),然后經(jīng)過Laplace反變換得出輸出c(t)。>>syms t s y G R c;>>R=laplace(sym(1))%寫出r(t)Laplace變換R =1/s>>G=1/(s+1)
72、+2/(s+3);>>C=R*G;>>c=ilaplace(C)%Laplace反變換得出c(t)的表達式c =5/3 - 2/(3*exp(3*t)) - 1/exp(t)>>t=1:0.1:10;>>y=subs(c,t);%得出t對應的y值>>plot(t,y),,3.5.3 Z變換及其反變換,1個離散信號的Z變換和Z反變換的定義為:,,,3.
73、5.3 Z變換及其反變換,1.ztrans函數(shù)語法:F=ztrans(f,n, z) %求時域序列f的Z變換F【例3.21】 求階躍函數(shù)、脈沖函數(shù)和e?at的Z變換。>> syms a n z t>> Fz1=ztrans(sym('1'),n,z) %求階躍函數(shù)的Z變換Fz1 =z/(z?1)>> Fz2=ztrans(sym('a^n
74、39;),n,z) Fz2 =-z/(a - z)>> Fz3=ztrans(exp(?a*t),n,z) %求e?at的Z變換Fz3 =z/(exp(a*t)*(z - 1)),,,3.5.3 Z變換及其反變換,2.iztrans函數(shù)語法:f=iztrans(F,z,n) %求F的Z反變換f【例3.21續(xù)】 用Z反變換驗算階躍函數(shù)、 和e?at的Z變換。&
75、gt;> syms n z t>> f1=iztrans(Fz1,z,n)f1 =1>> f2=iztrans(2*z/(z-2)^2)f2 =2^n + 2^n*(n - 1)>> f3=iztrans(Fz3,z,n)f3 =exp(?a*t),,,3 . 6 符號方程的求解,3.6.1 代數(shù)方程當方程不存在解析解又無其他自由參數(shù)時,MATLAB可以用solve命令給
76、出方程的數(shù)值解。語法:solve('eq', 'v') %求方程關于指定變量的解solve('eq1', 'eq2', 'v1', 'v2',…) %求方程組關于指定變量的解 【例3.22】 求方程ax2+bx+c=0和sinx=0的解。>> f1=sym('a*x^2+b*x+c')
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第7講matlab的符號計算
- matlab學習 第5章 matlab數(shù)值計算
- 矩陣冪的展開與符號計算.pdf
- 第3章 matlab基本繪圖
- 符號計算及其在計算生物學中的應用.pdf
- 孤子方程的精確解及其符號計算研究.pdf
- 基于計算機符號計算的非線性模型孤子解研究(1)
- 基于計算機符號計算的非線性模型孤子解研究.pdf
- 微分方程解析近似解的符號計算研究.pdf
- 微分方程精確解及李對稱符號計算研究.pdf
- 幾種非線性系統(tǒng)的符號計算及其軟件實現(xiàn).pdf
- 第06章_matlab數(shù)值計算_例題源程序匯總
- 第3章 matlab的仿真測量儀器
- 可積系統(tǒng)的多孤立子解及其符號計算研究.pdf
- 基于符號計算方法的程序驗證技術研究.pdf
- 第3章 設計計算.doc
- 第3章 設計計算.doc
- 基于特征列法的差分李對稱分析及符號計算.pdf
- 第3章 設計計算.doc
- 基于計算機符號計算的WBK、變系數(shù)KdV等方程求解方法研究.pdf
評論
0/150
提交評論