MATLAB數(shù)學(xué)手冊教程_第3章__符號運(yùn)算_第1頁
MATLAB數(shù)學(xué)手冊教程_第3章__符號運(yùn)算_第2頁
MATLAB數(shù)學(xué)手冊教程_第3章__符號運(yùn)算_第3頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章 符號運(yùn)算第3章 符號運(yùn)算3.1 算術(shù)符號操作命令 +、-、*、.*、.、/、./、.、.功能 符號矩陣的算術(shù)操作用法如下:A+B、A-B 符號陣列的加法與減法。若A與B為同型陣列時(shí),A+B、A-B分別對對應(yīng)分量進(jìn)行加減;若A與B中至少有一個(gè)為標(biāo)量,則把標(biāo)量擴(kuò)大為與另外一個(gè)同型的陣列,再按對應(yīng)的分量進(jìn)行加減。A*B 符號矩陣乘法。A*B為線性代數(shù)中定義的矩陣乘法。按乘法定義要求必須有矩陣A的列數(shù)等于矩陣B的行數(shù)。即:若An*k*Bk*m=(aij)n*k.*(bij)k*m=Cn*m=(cij)n*m,則,i=1,2,n;j=1,2,m?;蛘咧辽儆幸粋€(gè)為標(biāo)量時(shí),方可進(jìn)行乘法操作,否則將返

2、回一出錯(cuò)信息。A.*B 符號數(shù)組的乘法。A.*B為按參量A與B對應(yīng)的分量進(jìn)行相乘。A與B必須為同型陣列,或至少有一個(gè)為標(biāo)量。即:An*m.*Bn*m=(aij)n*m.*(bij)n*m=Cn*m=(cij)n*m,則cij= aij* bij,i=1,2,n;j=1,2,m。AB 矩陣的左除法。X=AB為符號線性方程組A*X=B的解。我們指出的是,AB近似地等于inv(A)*B。若X不存在或者不唯一,則產(chǎn)生一警告信息。矩陣A可以是矩形矩陣(即非正方形矩陣),但此時(shí)要求方程組必須是相容的。A.B 數(shù)組的左除法。A.B為按對應(yīng)的分量進(jìn)行相除。若A與B為同型陣列時(shí),An*m.Bn*m=(aij)n

3、*m.(bij)n*m=Cn*m=(cij)n*m,則cij= aij bij,i=1,2,n;j=1,2,m。若若A與B中至少有一個(gè)為標(biāo)量,則把標(biāo)量擴(kuò)大為與另外一個(gè)同型的陣列,再按對應(yīng)的分量進(jìn)行操作。A/B 矩陣的右除法。X=B/A為符號線性方程組X*A=B的解。我們指出的是,B/A粗略地等于B*inv(A)。若X不存在或者不唯一,則產(chǎn)生一警告信息。矩陣A可以是矩形矩陣(即非正方形矩陣),但此時(shí)要求方程組必須是相容的。A./B 數(shù)組的右除法。A./B為按對應(yīng)的分量進(jìn)行相除。若A與B為同型陣列時(shí),An*m./Bn*m=(aij)n*m./(bij)n*m=Cn*m=(cij)n*m,則cij=

4、 aij/bij,i=1,2,n;j=1,2,m。若A與B中至少有一個(gè)為標(biāo)量,則把標(biāo)量擴(kuò)大為與另外一個(gè)同型的陣列,再按對應(yīng)的分量進(jìn)行操作。AB 矩陣的方冪。計(jì)算矩陣A的整數(shù)B次方冪。若A為標(biāo)量而B為方陣,AB用方陣B的特征值與特征向量計(jì)算數(shù)值。若A與B同時(shí)為矩陣,則返回一錯(cuò)誤信息。A.B 數(shù)組的方冪。A.B為按A與B對應(yīng)的分量進(jìn)行方冪計(jì)算。若A與B為同型陣列時(shí),An*m.Bn*m=(aij)n*m.(bij)n*m=Cn*m=(cij)n*m,則cij= aijbij,i=1,2,n;j=1,2,m。若A與B中至少有一個(gè)為標(biāo)量,則把標(biāo)量擴(kuò)大為與另外一個(gè)同型的陣列,再按對應(yīng)的分量進(jìn)行操作。A&#

5、39; 矩陣的Hermition轉(zhuǎn)置。若A為復(fù)數(shù)矩陣,則A'為復(fù)數(shù)矩陣的共軛轉(zhuǎn)置。即,若A=(aij)=(xij+i*yij),則。A.' 數(shù)組轉(zhuǎn)置。A.'為真正的矩陣轉(zhuǎn)置,其沒有進(jìn)行共軛轉(zhuǎn)置。例3-1>>syms a b c d e f g h;>>A = a b; c d;>>B = e f; g h;>>C1 = A.*B>>C2 = A.B>>C3 = A*B/A>>C4 = A.*A-A2>>syms a11 a12 a21 a22 b1 b2;>>A

6、= a11 a12; a21 a22;>>B = b1 b2;>>X = B/A; % 求解符號線性方程組X*A=B的解>>x1 = X(1)>>x2 = X(2)計(jì)算結(jié)果為:C1 = a*e, b*f c*g, d*hC2 = ae, bf cg, dhC3 = -(a*c*f+c*b*h-a*e*d-b*d*g)/(a*d-b*c), (a*b*h-b2*g+a2*f-b*a*e)/(a*d-b*c) -(-c*e*d+c*d*h+c2*f-d2*g)/(a*d-b*c), (a*d*h+a*c*f-b*c*e-b*d*g)/(a*d-b*c

7、)C4 = -b*c, b2-a*b-b*d c2-a*c-d*c, -b*c x1 = (-a22*b1+b2*a21)/(a12*a21-a11*a22) x2 = -(-a12*b1+a11*b2)/(a12*a21-a11*a22)3.2 基本運(yùn)算命令1 合并同類項(xiàng)函數(shù) collect格式 R = collect(S) %對于多項(xiàng)式S中的每一函數(shù),collect(S)按缺省變量x的次數(shù)合并系數(shù)。R = collect(S,v) %對指定的變量v計(jì)算,操作同上。例3-2>>syms x y;>>R1 = collect(exp(x)+x)*(x+2)>>

8、;R2 = collect(x+y)*(x2+y2+1), y)>>R3 = collect(x+1)*(y+1),x+y)計(jì)算結(jié)果為:R1 = x2+(exp(x)+2)*x+2*exp(x)R2 = y3+x*y2+(x2+1)*y+x*(x2+1)R3 = (y+1)*x+y+1, x+y命令2 列空間的基函數(shù) colspace格式 B = colspace(A) %返回矩陣B,其列向量形成由矩陣A的列向量形成的空間的坐標(biāo)基,其中A可以是符號或數(shù)值矩陣。而size(colspace(A),2)等于rank(A)。即由A生成的空間維數(shù)等于A的秩。例3-3>>syms

9、 a b c>>A = sym(1,a;2,b;3,c)>>B = colspace(A)計(jì)算結(jié)果為: A = 1, a 2, b 3, c B = 1, 0 0, 1 -(3*b-2*c)/(-b+2*a), (-c+3*a)/(-b+2*a)命令3 復(fù)合函數(shù)計(jì)算函數(shù) compose格式 compose(f,g) %返回復(fù)合函數(shù)fg(y),其中f=f(x),g=g(y)。其中符號x為函數(shù)f中由命令findsym(f) 確定的符號變量,符號y為函數(shù)g中由命令findsym(g) 確定的符號變量。compose(f,g,z) %返回復(fù)合函數(shù)fg(z),其中f=f(x),g

10、=g(y),符號x、y為函數(shù)f、g中由命令findsym確定的符號變量。compose(f,g,x,z) %返回復(fù)合函數(shù)fg(z),而令變量x為函數(shù)f中的自變量f=f(x)。令x=g(z),再將x=g(z)代入函數(shù)f中。compose(f,g,x,y,z) %返回復(fù)合函數(shù)fg(z)。而令變量x為函數(shù)f中的自變量f=f(x),而令變量y為函數(shù)g中的自變量g=g(y)。令x=g(y),再將x=g(y)代入函數(shù)f=f(x)中,得fg(y),最后用指定的變量z代替變量y,得fg(z)。例3-4>>syms x y z t u v;>>f = 1/(1 + x2*y); h =

11、xt; g = sin(y); p = sqrt(-y/u);>>C1 = compose(f,g) % 令x=g=sin(y),再替換f中的變量x=findsym(f)。>>C2 = compose(f,g,t) % 令x=g=sin(t),再替換f中的變量x=findsym(f)。>>C3 = compose(h,g,x,z) % 令x=g=sin(z),再替換h中的變量x。>>C4 = compose(h,g,t,z) % 令t=g=sin(z),再替換h中的變量t。>>C5 = compose(h,p,x,y,z) % 令x=

12、p(y)=sqrt(-y/u),替換h中的變量x,再將y換成z。>>C6 = compose(h,p,t,u,z) % 令t=p(u)=sqrt(-y/u),替換h中的變量t,再將u換成z。計(jì)算結(jié)果為: C1 = 1/(1+sin(y)2*y) C2 = 1/(1+sin(t)2*y) C3 = sin(z)t C4 = xsin(z) C5 = (-z/u)(1/2)t C6 = x(-y/z)(1/2)命令4 符號復(fù)數(shù)的共軛函數(shù) conj格式 conj(X) %返回符號復(fù)數(shù)X的共軛復(fù)數(shù)例3-5 X=real(X) + i*imag(X),則conj(X)=real(X) - i

13、*imag(X)命令5 符號復(fù)數(shù)的實(shí)數(shù)部分函數(shù) real格式 real(Z) %返回符號復(fù)數(shù)z的實(shí)數(shù)部分命令6 符號復(fù)數(shù)的虛數(shù)部分函數(shù) imag格式 imag(Z) %返回符號復(fù)數(shù)z的虛數(shù)部分命令7 余弦函數(shù)的整函數(shù)格式 Y = cosint(X) %計(jì)算余弦函數(shù)在點(diǎn)X處的整函數(shù)值。其中X可以是數(shù)值矩陣,或符號矩陣。余弦函數(shù)的整函數(shù)定義為:,其中為Euler常數(shù),=0.57721566490153286060651209 i=1,2,size(X)。Euler常數(shù)可以通過命令vpa('eulergamma')獲得。例3-6>>cosint(7.2) >>

14、cosint(0:0.1:1)>>syms x;>>f = cosint(x);>>diff(x)計(jì)算結(jié)果為:ans = 0.0960ans = Columns 1 through 7 Inf -1.7279 -1.0422 -0.6492 -0.3788 -0.1778 -0.0223 Columns 8 through 11 0.1005 0.1983 0.2761 0.3374ans =1命令8 設(shè)置變量的精度函數(shù) digits格式 digits(d) %設(shè)置當(dāng)前的可變算術(shù)精度的位數(shù)為整數(shù)d位 d = digits %返回當(dāng)前的可變算術(shù)精度位數(shù)給d d

15、igits %顯示當(dāng)前可變算術(shù)精度的位數(shù)說明 設(shè)置有意義的十進(jìn)制數(shù)值的、在Maple軟件中用于做可變算術(shù)精度(命令為:vpa)計(jì)算的數(shù)字位數(shù)。其缺省值為32位數(shù)字。例3-7>>z = 1.0e-16 % z為一很小的數(shù)>>x = 1.0e+2 % x為較大的數(shù)>>digits(14) >>y1 = vpa(x*z+1) % 大數(shù)1“吃掉”小數(shù)x*y>>digits(15)>>y2 = vpa(x*z+1) % 防止“去掉”小數(shù)x*y計(jì)算結(jié)果為:z = 1.0000e-016x = 100y1 = 1.00000000000

16、00y2 = 1.00000000000001命令9 將符號轉(zhuǎn)換為MATLAB的數(shù)值形式函數(shù) double格式 R = double(S) %將符號對象S轉(zhuǎn)換為數(shù)值對象R。若S為符號常數(shù)或表達(dá)式常數(shù),double返回S的雙精度浮點(diǎn)數(shù)值表示形式;若S為每一元素是符號常數(shù)或表達(dá)式常數(shù)的符號矩陣,double返回S每一元素的雙精度浮點(diǎn)數(shù)值表示的數(shù)值矩陣R。例3-8>>gold_ratio = double(sym('(sqrt(5)-1)/2') % 計(jì)算黃金分割率。>>T = sym(hilb(4)>>R = double(T)計(jì)算結(jié)果為:gol

17、d_ratio = 0.6180T = 1, 1/2, 1/3, 1/4 1/2, 1/3, 1/4, 1/5 1/3, 1/4, 1/5, 1/6 1/4, 1/5, 1/6, 1/7R = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429命令10 符號表達(dá)式的展開函數(shù) expand格式 R = expand(S) %對符號表達(dá)式S中每個(gè)因式的乘積進(jìn)行展開計(jì)算。該命令通常用于計(jì)算多項(xiàng)式函數(shù)、三角函數(shù)、指數(shù)函數(shù)與對數(shù)函數(shù)等

18、表達(dá)式的展開式。例3-9>>syms x y a b c t>>E1 = expand(x-2)*(x-4)*(y-t)>>E2 = expand(cos(x+y)>>E3 = expand(exp(a+b)3) >>E4 = expand(log(a*b/sqrt(c) >>E5 = expand(sin(2*t), cos(2*t)計(jì)算結(jié)果為:E1 = x2*y-x2*t-6*x*y+6*x*t+8*y-8*tE2 = cos(x)*cos(y)-sin(x)*sin(y)E3 = exp(a3)*exp(a2*b)3

19、*exp(a*b2)3*exp(b3)E4 = log(a*b/c(1/2)E5 = 2*sin(t)*cos(t), 2*cos(t)2-1命令11 符號因式分解函數(shù) factor格式 factor(X) %參量x可以是正整數(shù)、符號表達(dá)式陣列或符號整數(shù)陣列。若X為一正整數(shù),則factor(X)返回X的質(zhì)數(shù)分解式。若x為多項(xiàng)式或整數(shù)矩陣,則factor(X)分解矩陣的每一元素。若整數(shù)陣列中有一元素位數(shù)超過16位,用戶必須用命令sym生成該元素。例3-10>>syms a b x y>>F1 = factor(x4-y4) >>F2 = factor(a2-b

20、2, x3+y3) >>F3 = factor(sym('12345678901234567890')計(jì)算結(jié)果為:F1 = (x-y)*(x+y)*(x2+y2)F2 = (a-b)*(a+b), (x+y)*(x2-x*y+y2)F3 = (2)*(3)2*(5)*(101)*(3803)*(3607)*(27961)*(3541)命令12 符號表達(dá)式的分子與分母函數(shù) numden格式 N,D = numden(A) 說明 將符號或數(shù)值矩陣A中的每一元素轉(zhuǎn)換成整系數(shù)多項(xiàng)式的有理式形式,其中分子與分母是相對互素的。輸出的參量N為分子的符號矩陣,輸出的參量D為分母的符

21、號矩陣。例3-11>>syms x y a b c d;>>n1,d1 = numden(sym(sin(4/5) >>n2,d2 = numden(x/y + y/x)>>A = a, 1/b;1/c d;>>n3,d3 = numden(A)計(jì)算結(jié)果為:n1 = 6461369247334093d1 = 9007199254740992n2 = x2+y2d2 = y*xn3 = a, 1 1, dd3 = 1, b c, 1命令13 搜索符號表達(dá)式的最簡形式函數(shù) simple格式 r = simple(S) %該命令試圖找出符號

22、表達(dá)式S的代數(shù)上的簡單形式,顯示任意的能使表達(dá)式S長度變短的表達(dá)式,且返回其中最短的一個(gè)。若S為一矩陣,則結(jié)果為整個(gè)矩陣的最短形式,而非是每一個(gè)元素的最簡形式。若沒有輸出參量r,則該命令將顯示所有可能使用的算法與表達(dá)式,同時(shí)返回最短的一個(gè)。r,how = simple(S) %沒有顯示中間的化簡結(jié)果,但返回能找到的最短的一個(gè)。輸出參量r為一符號,how為一字符串,用于表示算法。例3-12>>syms x>>R1 = simple(cos(x)4+sin(x)4)>>R2 = simple(2*cos(x)2-sin(x)2)>>R3 = simp

23、le(cos(x)2-sin(x)2)>>R4 = simple(cos(x)+(-sin(x)2)(1/2)>>R5 = simple(cos(x)+i*sin(x)>>R6 = simple( (x+1)*x*(x-1)>>R7 = simple(x3+3*x2+3*x+1)>> R8,how = simple(cos(3*acos(x)計(jì)算的結(jié)果為:R1 = 1/4*cos(4*x)+3/4R2 = 3*cos(x)2-1R3 = cos(2*x)R4 = cos(x)+i*sin(x)R5 = exp(i*x)R6 = x 3

24、-xR7 = (x+1)3R8 = 4*x3-3*xhow = expand命令14 符號表達(dá)式的化簡函數(shù) simplify格式 R = simplify(S) 說明 使用Maple軟件中的化簡規(guī)則,將化簡符號矩陣S中每一元素。例3-13>>syms x a b c>>R1 = simplify(sin(x)4 + cos(x)4) >>R2 = simplify(exp(c*log(sqrt(a+b)>>S = (x2+5*x+6)/(x+2),sqrt(16);>>R3 = simplify(S)計(jì)算結(jié)果為:R1 = 2*cos(

25、x)4+1-2*cos(x)2R2 = (a+b)(1/2*c)R3 = x+3, 4 命令15 符號矩陣的維數(shù)函數(shù) size格式 d = size(A) %若A為m*n階的符號矩陣,則輸出結(jié)果d=m,n。 m,n = size(A) %分別返回矩陣A的行數(shù)于m,列數(shù)于n。 d= size(A, n) %返回由標(biāo)量n指定的A的方向的維數(shù):n=1為行方向,n=2為列方向。例3-14>>syms a b c d>>A = a b c ; a b d; d c b; c b a;>>d = size(A)>>r = size(A, 2)計(jì)算結(jié)果為:d

26、= 4 3r = 3命令16 代數(shù)方程的符號解析解函數(shù) solve格式 g = solve(eq) %輸入?yún)⒘縠q可以是符號表達(dá)式或字符串。若eq是一符號表達(dá)式x2 -2*x-1或一沒有等號的字符串x2-2*x-1,則solve(eq)對方程eq中的缺省變量(由命令findsym(eq)確定的變量)求解方程eq=0。若輸出參量g為單一變量,則對于有多重解的非線性方程,g為一行向量。g = solve(eq,var) %對符號表達(dá)式或沒有等號的字符串eq中指定的變量var求解方程eq(var)=0。g = solve(eq1,eq2,eqn) %輸入?yún)⒘縠q1,eq2,eqn可以是符號表達(dá)式或字

27、符串。該命令對方程組eq1,eq2,eqn中由命令findsym確定的n個(gè)變量如x1,x2,xn求解。若g為一單個(gè)變量,則g為一包含n個(gè)解的結(jié)構(gòu);若g為有n個(gè)變量的向量,則分別返回結(jié)果給相應(yīng)的變量。g = solve(eq1,eq2,eqn,var1,var2,varn) %對方程組eq1,eq2,eqn中指定的n個(gè)變量如var1,var2,varn求解。注意:對于單個(gè)的方程或方程組,若不存在符號解,則返回方程(組)的數(shù)值解。例3-15>>solve('a*x2 + b*x + c') >>solve('a*x2 + b*x + c',&

28、#39;b') >>solve('x + y = 1','x - 11*y = 5') >>A = solve('a*u2 + v2', 'u - v = 1', 'a2 - 5*a +6')計(jì)算結(jié)果為:ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)ans =-(a*x2+c)/xans = x: 1x1 sym y: 1x1 symA = a: 4x1 sym u: 4x1 sym v: 4x1 sym命令17 以

29、共同的子表達(dá)式形式重寫一符號表達(dá)式函數(shù) subexpr格式 Y,SIGMA = subexpr(X,SIGMA)Y,SIGMA = subexpr(X,'SIGMA') 說明 找出符號表達(dá)式 X中相同的子表達(dá)式,再結(jié)合命令pretty(X)將X中相同的、比較復(fù)雜的子字符串用符號%1,%2,代替。而用命令pretty(Y)將X中相同的、比較復(fù)雜的子字符串用符號SIGMA代替。例3-16>>t = solve('a*x3+b*x2+c*x+d = 0'); >> r,s = subexpr(t,'s');>>pre

30、tty(t)>>pretty(r)計(jì)算結(jié)果為:(略)命令18 特征多項(xiàng)式函數(shù) poly格式 p = poly(A)或p = poly(A, v) 說明 若A為一數(shù)值陣列,則返回矩陣A的特征多項(xiàng)式的系數(shù),且有:命令poly(sym(A)近似等于poly2sym(poly(A)。其近似程度取決于舍入誤差的大小。若A為一符號矩陣,則返回矩陣A的變量為x的特征多項(xiàng)式。若帶上參量v,則返回變量為v的特征多項(xiàng)式。例3-17>>A = hilb(4); >>p = poly(A)>>q = poly(sym(A)>>s = poly(sym(A),

31、z)計(jì)算結(jié)果為:p = 1.0000 -1.6762 0.2652 -0.0017 0.0000q = x4-176/105*x3+3341/12600*x2-41/23625*x+1/6048000s = -176/105*z3+3341/12600*z2-41/23625*z+1/6048000+z4命令19 將多項(xiàng)式系數(shù)向量轉(zhuǎn)化為帶符號變量的多項(xiàng)式函數(shù) poly2sym格式 r = poly2sym(c)和r = poly2sym(c, v) 說明 將系數(shù)在數(shù)值向量c中的多項(xiàng)式轉(zhuǎn)化成相應(yīng)的帶符號變量的多項(xiàng)式(按次數(shù)的降冪排列)。缺省的符號變量為x;若帶上參量v,則符號變量用v顯示。pol

32、y2sym使用命令sym的缺省轉(zhuǎn)換模式(有理形式)將數(shù)值型系數(shù)轉(zhuǎn)換為符號常數(shù)。該模式將數(shù)值轉(zhuǎn)換成接近的整數(shù)比值的表達(dá)式,否則用2的冪指數(shù)表示。若x有一數(shù)值值,且命令sym能將c的元素精確表示,則eval(poly2sym(c)的結(jié)果與polyval(c,x)相同。例3-18>>r1 = poly2sym(1 2 3 4) >>r2 = poly2sym(.694228, sqrt(2), sin(pi/3) >>r3 = poly2sym(1 0 1 -1 2, y)計(jì)算結(jié)果為: r1 = x3+2*x2+3*x+4 r2 = 625304992422032

33、9/9007199254740992*x2+x*2(1/2)+1/2*3(1/2) r3 = y4+y2-y+2命令20 將復(fù)雜的符號表達(dá)式顯示成我們習(xí)慣的數(shù)學(xué)書寫形式函數(shù) pretty格式 pretty(S) %用缺省的線型寬度79顯示符號矩陣s中每一元素 pretty(S,n) %用指定的線型寬度n顯示例3-19>>A = sym(pascal(3);>>B = eig(A)>>pretty(B,50) % 多看幾次結(jié)果,會(huì)發(fā)現(xiàn)該命令顯示的特點(diǎn)>>syms x>>y=log(x)/sqrt(x);>>dy = diff

34、(y)>>pretty(dy) 計(jì)算結(jié)果為:B = 1 4+15(1/2) 4 -15(1/2) 1 1/24 + 15 1/24 - 15 dy = 1/x(3/2)-1/2*log(x)/x(3/2) 1 log(x)- - 1/2 - 3/2 3/2x x命令21 從一符號表達(dá)式中或矩陣中找出符號變量函數(shù) findsym格式 r = findsym(S) %以字母表的順序返回表達(dá)式S中的所有符號變量(注:符號變量為由字母(除了i與j)與數(shù)字構(gòu)成的、字母打頭的字符串)。若S中沒有任何的符號變量,則findsym返回一空字符串。r = findsym(S,n) %返回字母表中接近

35、x的n個(gè)符號變量例3-20>>syms a x y z t alpha beta>>1 = findsym(sin(pi*t*alpha+beta)>>S2 = findsym(x+i*y-j*z+eps-nan)>>S3 = findsym(a+y,pi)計(jì)算結(jié)果為; S1 = pi, alpha, beta, t S2 = NaN, x, y, z S3 = a, y命令22 函數(shù)的反函數(shù)函數(shù) finverse格式 g = finverse(f) %返回函數(shù)f 的反函數(shù)。其中f為單值的一元數(shù)學(xué)函數(shù),如f=f(x)。若f的反函數(shù)存在,設(shè)為g,則

36、有g(shù)f(x) = x。g = finverse(f,u) %若符號函數(shù)f中有幾個(gè)符號變量時(shí),對指定的符號自變量v計(jì)算其反函數(shù)。若其反函數(shù)存在,設(shè)為g,則有g(shù)f(v) = v。例3-21>>syms x p q u v;>>V1 = finverse(1/(x2+p)*(x2+q) >>V2 = finverse(exp(u-2*v),u)計(jì)算結(jié)果為: Warning: finverse(1/(x2+p)/(x2+q) is not unique. > In D:MATLABR12toolboxsymbolicsymfinverse.m at line

37、43 V1 = 1/2/x*2(1/2)*(x*(-x*q-x*p+(x2*q2-2*x2*q*p+x2*p2+4*x)(1/2)(1/2) V2 = 2*v+log(u)命令23 嵌套形式的多項(xiàng)式的表達(dá)式函數(shù) horner格式 R = horner(P) %若P為一符號多項(xiàng)式的矩陣,該命令將矩陣的每一元素轉(zhuǎn)換成嵌套形式的表達(dá)式R。例3-22>>syms x y>>H1 = horner(2*x4-6*x3+9*x2-6*x-4) >>H2 = horner(x2+x*y;y3-2*y)計(jì)算結(jié)果為: H1 = -4+(-6+(9+(-6+2*x)*x)*x)

38、*x H2 = x2+x*y (-2+y2)*y命令24 符號表達(dá)式求和函數(shù) symsum格式 r = symsum(s) %對符號表達(dá)式s中的符號變量k(由命令findsym(s)確定的)從0到k-1求和r = symsum(s,v) %對符號表達(dá)式s中指定的符號變量v從0到v-1求和r = symsum(s,a,b) %對符號表達(dá)式s中的符號變量k(由命令findsym(s)確定的)從a到b求和r = symsum(s,v,a,b) %對符號表達(dá)式s中指定的符號變量v從a到b求和例3-23>>syms k n x>>r1 = symsum(k3) >>r

39、2 = symsum(k2-k) >>r3 = symsum(sin(k*pi)/k,0,n) >>r4 = symsum(k2,0,10) >>r5 = symsum(xk/sym('k!'), k, 0,inf) %為使k!通過MATLAB表達(dá)式的檢驗(yàn),必須把它作為一符號表達(dá)式。計(jì)算結(jié)果為:r1 = 1/4*k4-1/2*k3+1/4*k2r2 = 1/3*k3-k2+2/3*kr3 = -1/2*sin(k*(n+1)/k+1/2*sin(k)/k/(cos(k)-1)*cos(k*(n+1)-1/2*sin(k)/k/(cos(k)-

40、1)r4 = 385r5 = exp(x)命令25 廣義超幾何函數(shù)函數(shù) hypergeom格式 hypergeom(n, d, z) %該命令為廣義超幾何函數(shù)F(n,d,z),即已知的Barnes擴(kuò)展超幾何函數(shù),記做jFk,其中j=length(n),k=length(d)。對于標(biāo)量a,b與c,hypergeom(a,b,c, z)為Gauss超幾何函數(shù)2F1(a,b;c,z)。說明 超幾何函數(shù)的定義為:, 其中例3-24>>syms a z n>>H1 = hypergeom(,z)>>H2 = hypergeom(1,z) >>H3 = hy

41、pergeom(1,2,'z') >>H4 = hypergeom(1,2,2,3,'z')>>H5 = hypergeom(a,z) >>H6 = hypergeom(,1,-z2/4)>>H7 = hypergeom(-n, n,1/2,(1-z)/2) 計(jì)算結(jié)果為:H1 = exp(z)H2 = -1/(-1+z)H3 = (exp(z)-1)/zH4 = -2*(-exp(z)+1+z)/z2H5 = (1-z)(-a)H6 = besselj(0,z)H7 = hypergeom(n, -n,1/2,1/

42、2-1/2*z)3.2.1 函數(shù)計(jì)算器函數(shù) funtool格式 funtool %該命令將生成三個(gè)圖形窗口,F(xiàn)igure No.1用于顯示函數(shù)f的圖形,F(xiàn)igure No.2用于顯示函數(shù)g的圖形,F(xiàn)igure No.3為一可視化的、可操作與顯示一元函數(shù)的計(jì)算器界面。在該界面上由許多按鈕,可以顯示兩個(gè)由用戶輸入的函數(shù)的計(jì)算結(jié)果:加、乘、微分等。funtool還有一函數(shù)存儲(chǔ)器,允許用戶將函數(shù)存入,以便后面調(diào)用。在開始時(shí),funtool顯示兩個(gè)函數(shù)f(x) = x與g(x) = 1在區(qū)間-2*pi, 2*pi上的圖形。Funtool同時(shí)在下面顯示一控制面板,允許用戶對函數(shù)f、g進(jìn)行保存、更正、重新輸

43、入、聯(lián)合與轉(zhuǎn)換等操作。輸入命令funtool后,生成的界面如下:圖3-1 函數(shù)工具funtool界面 圖3-2 函數(shù)f的圖形 圖3-3 函數(shù)g的圖形說明 文本輸入框區(qū)域:控制面板的上面幾行,可以輸入文本;f = :顯示代表函數(shù)f的符號表達(dá)式,可在該行輸入其他有效的表達(dá)式來定義f,再按回車鍵即可在Figure No.1中畫出圖形;g = :顯示代表函數(shù)g的符號表達(dá)式,可在該行輸入其他有效的表達(dá)式來定義g,再按回車鍵即可在Figure No.2中畫出g圖形;x = :顯示用于畫函數(shù)f與g的區(qū)間??稍谠撔休斎肫渌牟煌瑓^(qū)間,再按回車鍵即可改變Figure No.1與Figure No.2中的區(qū)間;a

44、 = :顯示一用于改變函數(shù)f的常量因子(見下面的操作按鈕)。可在該行輸入不同的常數(shù)??刂瓢粹o區(qū)域:該區(qū)域有一些按鈕,按下它們將對函數(shù)f轉(zhuǎn)換成不同的形式與執(zhí)行不同的操作。df/dx:函數(shù)f的導(dǎo)數(shù);int f:函數(shù)f的積分(沒有常數(shù)的一個(gè)原函數(shù)),當(dāng)函數(shù)f的原函數(shù)不能用初等函數(shù)表示時(shí),操作可能失??;simple f:化簡函數(shù)f(若有可能);num f:函數(shù)f 的分子;den f:函數(shù)f的分母;1/f:函數(shù)f的倒數(shù);finv:函數(shù)f的反函數(shù),若函數(shù)f 的反函數(shù)不存在,操作可能失敗;f+a:用f(x)+a代替函數(shù)f(x);f-a:用f(x)-a代替函數(shù)f(x);f*a:用f(x)+a代替函數(shù)f(x);

45、f/a:用f(x)/a代替函數(shù)f(x);fa:用f(x)a代替函數(shù)f(x);f(x+a):用f(x+a)代替函數(shù)f(x);f(x*a):用f(x-a)代替函數(shù)f(x);f+g:用f(x)+g(x)代替函數(shù)f(x);f-g:用f(x)-g(x)代替函數(shù)f(x);f*g:用f(x)*g(x)代替函數(shù)f(x);f/g:用f(x)/g(x)代替函數(shù)f(x);g=f:用函數(shù)f(x)代替函數(shù)g(x);swap:函數(shù)f(x)與g(x)互換;Insert:將函數(shù)f(x)保存到函數(shù)內(nèi)存列表中的最后;Cycle:用內(nèi)存函數(shù)列表中的第二項(xiàng)代替函數(shù)f(x);Delete:從內(nèi)存函數(shù)列表中刪除函數(shù)f(x);Reset:

46、重新設(shè)置計(jì)算器為初始狀態(tài);Help:顯示在線的關(guān)于計(jì)算器的幫助;Demo:運(yùn)行該計(jì)算器的演示程序;Close:關(guān)閉計(jì)算器的三個(gè)窗口。3.2.2 微積分命令1 極限函數(shù) limit格式 limit(F,x,a) %計(jì)算符號表達(dá)式F=F(x)的極限值,當(dāng)xa時(shí)。limit(F,a) %用命令findsym(F)確定F中的自變量,設(shè)為變量x,再計(jì)算F的極限值,當(dāng)xa時(shí)。limit(F) %用命令findsym(F)確定F中的自變量,設(shè)為變量x,再計(jì)算F的極限值,當(dāng)x0時(shí)。limit(F,x,a,'right')或limit(F,x,a,'left') %計(jì)算符號函數(shù)F

47、的單側(cè)極限:左極限xa- 或右極限xa+。例3-25>>syms x a t h n; >>L1 = limit(cos(x)-1)/x)>>L2 = limit(1/x2,x,0,'right')>>L3 = limit(1/x,x,0,'left')>>L4 = limit(log(x+h)-log(x)/h,h,0)>>v = (1+a/x)x, exp(-x);>>L5 = limit(v,x,inf,'left')>>L6 = limit(1

48、+2/n)(3*n),n,inf)計(jì)算結(jié)果為:L1 = 0L2 = infL3 = -infL4 = 1/xL5 = exp(a), 0L6 = exp(6)命令2 導(dǎo)數(shù)(包括偏導(dǎo)數(shù))函數(shù) diff格式 diff(S,'v')、diff(S,sym('v') %對表達(dá)式S中指定符號變量v計(jì)算S的1階導(dǎo)數(shù)。 diff(S) %對表達(dá)式S中的符號變量v計(jì)算S的1階導(dǎo)數(shù),其中v=findsym(S)。 diff(S,n) %對表達(dá)式S中的符號變量v計(jì)算S的n階導(dǎo)數(shù),其中v=findsym(S)。 diff(S,'v',n) %對表達(dá)式S中指定的符號變量

49、v計(jì)算S的n階導(dǎo)數(shù)。例3-26>>syms x y t>>D1 = diff(sin(x2)*y2,2) %計(jì)算>>D2 = diff(D1,y) %計(jì)算>>D3 = diff(t6,6)計(jì)算結(jié)果為:D1 = -4*sin(x2)*x2*y2+2*cos(x2)*y2D2 = -8*sin(x2)*x2*y+4*cos(x2)*yD3 = 720命令3 符號函數(shù)的積分函數(shù) int格式 R = int(S,v) %對符號表達(dá)式S中指定的符號變量v計(jì)算不定積分。注意的是,表達(dá)式R只是函數(shù)S的一個(gè)原函數(shù),后面沒有帶任意常數(shù)C。R = int(S) %對

50、符號表達(dá)式S中的符號變量v計(jì)算不定積分,其中v=findsym(S)。R = int(S,v,a,b) %對表達(dá)式s中指定的符號變量v計(jì)算從a到b的定積分R = int(S,a,b) %對符號表達(dá)式s中的符號變量v計(jì)算從a到b的定積分,其中v=findsym(S)。例3-27>>syms x z t alpha>>INT1 = int(-2*x/(1+x3)2)>>INT2 = int(x/(1+z2),z)>>INT3 = int(INT2,x)>>INT4 = int(x*log(1+x),0,1) >>INT5 =

51、int(2*x, sin(t), 1) >>INT6 = int(exp(t),exp(alpha*t)計(jì)算結(jié)果為:INT1 = -2/9/(x+1)+2/9*log(x+1)-1/9*log(x2-x+1)-2/9*3(1/2)*atan(1/3*(2*x-1)* 3(1/2)-2/9*(2*x-1)/(x2-x+1)INT2 = x*atan(z)INT3 = 1/2*x2*atan(z)INT4 = 1/4INT5 = 1-sin(t)2INT6 = exp(t), 1/alpha*exp(alpha*t)命令4 常微分方程的符號解函數(shù) dsolve格式 r = dsolve

52、('eq1,eq2,','cond1,cond2,','v')說明 對給定的常微分方程(組)eq1,eq2,中指定的符號自變量v,與給定的邊界條件和初始條件cond1,cond2,.求符號解(即解析解)r;若沒有指定變量v,則缺省變量為t;在微分方程(組)的表達(dá)式eq中,大寫字母D表示對自變量(設(shè)為x)的微分算子:D=d/dx,D2=d2/dx2,。微分算子D后面的字母則表示為因變量,即待求解的未知函數(shù)。初始和邊界條件由字符串表示:y(a)=b,Dy(c)=d,D2y(e)=f,等等,分別表示,;若邊界條件少于方程(組)的階數(shù),則返回的結(jié)果r中會(huì)

53、出現(xiàn)任意常數(shù)C1,C2,;dsolve命令最多可以接受12個(gè)輸入?yún)⒘浚òǚ匠探M與定解條件個(gè)數(shù),當(dāng)然我們可以做到輸入的方程個(gè)數(shù)多于12個(gè),只要將多個(gè)方程置于一字符串內(nèi)即可)。若沒有給定輸出參量,則在命令窗口顯示解列表。若該命令找不到解析解,則返回一警告信息,同時(shí)返回一空的sym對象。這時(shí),用戶可以用命令ode23或ode45求解方程組的數(shù)值解。例3-28>>D1 = dsolve('D2y Dy =exp(x)') >>D2 = dsolve('t*D2f = Df*log(Dy)/t)') >>D3 = dsolve('(Dy)2 + y2 = 1','s') >>D4 = dsolve('Dy = a*y', 'y(0) = b') % 帶一個(gè)定解條件>>D5 = dsolve('D2y = -a2*y', 'y(0) = 1', 'Dy(pi/a) = 0') % 帶兩個(gè)定解條件>>x,y = dsolve('Dx = y', 'Dy = -x') % 求解線性微分方程組>>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論