matlab符號運算函數(shù)大全[教學(xué)備用]_第1頁
matlab符號運算函數(shù)大全[教學(xué)備用]_第2頁
matlab符號運算函數(shù)大全[教學(xué)備用]_第3頁
matlab符號運算函數(shù)大全[教學(xué)備用]_第4頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、3.1 算術(shù)符號操作命令 +、-、*、.*、.、/、./、.、.功能 符號矩陣的算術(shù)操作用法如下:A+B、A-B 符號陣列的加法與減法。若A與B為同型陣列時,A+B、A-B分別對對應(yīng)分量進(jìn)行加減;若A與B中至少有一個為標(biāo)量,則把標(biāo)量擴大為與另外一個同型的陣列,再按對應(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?;蛘咧辽儆幸粋€為標(biāo)量時,方可進(jìn)行乘法操作,否則將返回一出錯信息。A.*B 符號數(shù)

2、組的乘法。A.*B為按參量A與B對應(yīng)的分量進(jìn)行相乘。A與B必須為同型陣列,或至少有一個為標(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可以是矩形矩陣(即非正方形矩陣),但此時要求方程組必須是相容的。A.B 數(shù)組的左除法。A.B為按對應(yīng)的分量進(jìn)行相除。若A與B為同型陣列時,An*m.Bn*m=(aij)n*m.(bij)n*m=Cn*

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

4、n;j=1,2,m。若A與B中至少有一個為標(biāo)量,則把標(biāo)量擴大為與另外一個同型的陣列,再按對應(yīng)的分量進(jìn)行操作。AB 矩陣的方冪。計算矩陣A的整數(shù)B次方冪。若A為標(biāo)量而B為方陣,AB用方陣B的特征值與特征向量計算數(shù)值。若A與B同時為矩陣,則返回一錯誤信息。A.B 數(shù)組的方冪。A.B為按A與B對應(yīng)的分量進(jìn)行方冪計算。若A與B為同型陣列時,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中至少有一個為標(biāo)量,則把標(biāo)量擴大為與另外一個同型的陣列,再按對應(yīng)的分量進(jìn)行操作。A 矩陣的Hermition轉(zhuǎn)置。若

5、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-1syms a b c d e f g h;A = a b; c d;B = e f; g h;C1 = A.*BC2 = A.BC3 = A*B/AC4 = A.*A-A2syms a11 a12 a21 a22 b1 b2;A = a11 a12; a21 a22;B = b1 b2;X = B/A; % 求解符號線性方程組X*A=B的解x1 = X(1)x2 = X(2)計算結(jié)果為:C1 = a*e, b*f c*g, d*hC2 =

6、 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)C4 = -b*c, b2-a*b-b*d c2-a*c-d*c, -b*cx1 = (-a22*b1+b2*a21)/(a12*a21-a11*a22)x2 = -(-a12*b1+a11*b2)/(a12*a21-a11*a22) 3.2 基本運算命令1 合并同類項函數(shù)

7、 collect格式 R = collect(S) %對于多項式S中的每一函數(shù),collect(S)按缺省變量x的次數(shù)合并系數(shù)。R = collect(S,v) %對指定的變量v計算,操作同上。例3-2syms x y;R1 = collect(exp(x)+x)*(x+2)R2 = collect(x+y)*(x2+y2+1), y)R3 = collect(x+1)*(y+1),x+y)計算結(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ù) colsp

8、ace格式 B = colspace(A) %返回矩陣B,其列向量形成由矩陣A的列向量形成的空間的坐標(biāo)基,其中A可以是符號或數(shù)值矩陣。而size(colspace(A),2)等于rank(A)。即由A生成的空間維數(shù)等于A的秩。例3-3syms a b cA = sym(1,a;2,b;3,c)B = colspace(A)計算結(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ù)計算函數(shù) compose格式 compose(f,g) %返回復(fù)合函數(shù)fg(y),其中f=f(x),g=

9、g(y)。其中符號x為函數(shù)f中由命令findsym(f) 確定的符號變量,符號y為函數(shù)g中由命令findsym(g) 確定的符號變量。compose(f,g,z) %返回復(fù)合函數(shù)fg(z),其中f=f(x),g=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

10、=g(y)代入函數(shù)f=f(x)中,得fg(y),最后用指定的變量z代替變量y,得fg(z)。例3-4syms x y z t u v;f = 1/(1 + x2*y); h = 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

11、=g=sin(z),再替換h中的變量t。C5 = compose(h,p,x,y,z) % 令x=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。計算結(jié)果為: C1 = 1/(1+sin(y)2*y)C2 = 1/(1+sin(t)2*y)C3 = sin(z)tC4 = xsin(z)C5 = (-z/u)(1/2)tC6 = x(-y/z)(1/2)命令4 符號復(fù)數(shù)的共軛函數(shù) conj格式 conj(X) %返回符號復(fù)數(shù)X的共軛復(fù)數(shù)例3-5 X=real

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

13、6cosint(7.2) cosint(0:0.1:1)syms x;f = cosint(x);diff(x)計算結(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 digits %顯示當(dāng)前

14、可變算術(shù)精度的位數(shù)說明 設(shè)置有意義的十進(jìn)制數(shù)值的、在Maple軟件中用于做可變算術(shù)精度(命令為:vpa)計算的數(shù)字位數(shù)。其缺省值為32位數(shù)字。例3-7z = 1.0e-16 % z為一很小的數(shù)x = 1.0e+2 % x為較大的數(shù)digits(14) y1 = vpa(x*z+1) % 大數(shù)1“吃掉”小數(shù)x*ydigits(15)y2 = vpa(x*z+1) % 防止“去掉”小數(shù)x*y計算結(jié)果為:z = 1.0000e-016x = 100y1 = 1.0000000000000y2 = 1.00000000000001命令9 將符號轉(zhuǎn)換為MATLAB的數(shù)值形式函數(shù) double格式 R =

15、 double(S) %將符號對象S轉(zhuǎn)換為數(shù)值對象R。若S為符號常數(shù)或表達(dá)式常數(shù),double返回S的雙精度浮點數(shù)值表示形式;若S為每一元素是符號常數(shù)或表達(dá)式常數(shù)的符號矩陣,double返回S每一元素的雙精度浮點數(shù)值表示的數(shù)值矩陣R。例3-8gold_ratio = double(sym(sqrt(5)-1)/2) % 計算黃金分割率。T = sym(hilb(4)R = double(T)計算結(jié)果為:gold_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

16、 = 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中每個因式的乘積進(jìn)行展開計算。該命令通常用于計算多項式函數(shù)、三角函數(shù)、指數(shù)函數(shù)與對數(shù)函數(shù)等表達(dá)式的展開式。例3-9syms x y a b c tE1 = expand(x-2)*(x-4)*(y-t)E2 = expand(cos(x+y)E3 = expand(exp(a+

17、b)3) E4 = expand(log(a*b/sqrt(c) E5 = expand(sin(2*t), cos(2*t)計算結(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*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ù),則fac

18、tor(X)返回X的質(zhì)數(shù)分解式。若x為多項式或整數(shù)矩陣,則factor(X)分解矩陣的每一元素。若整數(shù)陣列中有一元素位數(shù)超過16位,用戶必須用命令sym生成該元素。例3-10syms a b x yF1 = factor(x4-y4) F2 = factor(a2-b2, x3+y3) F3 = factor(sym(12345678901234567890)計算結(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)命令

19、12 符號表達(dá)式的分子與分母函數(shù) numden格式 N,D = numden(A) 說明 將符號或數(shù)值矩陣A中的每一元素轉(zhuǎn)換成整系數(shù)多項式的有理式形式,其中分子與分母是相對互素的。輸出的參量N為分子的符號矩陣,輸出的參量D為分母的符號矩陣。例3-11syms 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)計算結(jié)果為:n1 = 6461369247334093d1 = 9007199254740992n2 = x2+y2d2 = y*xn3 =

20、a, 1 1, dd3 = 1, b c, 1命令13 搜索符號表達(dá)式的最簡形式函數(shù) simple格式 r = simple(S) %該命令試圖找出符號表達(dá)式S的代數(shù)上的簡單形式,顯示任意的能使表達(dá)式S長度變短的表達(dá)式,且返回其中最短的一個。若S為一矩陣,則結(jié)果為整個矩陣的最短形式,而非是每一個元素的最簡形式。若沒有輸出參量r,則該命令將顯示所有可能使用的算法與表達(dá)式,同時返回最短的一個。r,how = simple(S) %沒有顯示中間的化簡結(jié)果,但返回能找到的最短的一個。輸出參量r為一符號,how為一字符串,用于表示算法。例3-12syms xR1 = simple(cos(x)4+sin

21、(x)4)R2 = simple(2*cos(x)2-sin(x)2)R3 = simple(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)計算的結(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 =

22、 x 3-xR7 = (x+1)3R8 = 4*x3-3*xhow = expand命令14 符號表達(dá)式的化簡函數(shù) simplify格式 R = simplify(S) 說明 使用Maple軟件中的化簡規(guī)則,將化簡符號矩陣S中每一元素。例3-13syms x a b cR1 = 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)計算結(jié)果為:R1 = 2*cos(x)4+1-2*cos(x)2R2 = (a+b)(1/2*c)R3 =

23、 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-14syms a b c dA = a b c ; a b d; d c b; c b a;d = size(A)r = size(A, 2)計算結(jié)果為:d = 4 3r = 3命令16 代數(shù)方程的符號解析解函數(shù) solve格式 g = solve(eq) %輸入?yún)⒘縠q可以是符號表達(dá)式或字符

24、串。若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á)式或字符串。該命令對方程組eq1,eq2,eqn中由命令findsym確定的n個變量如x1,x2,xn求解。若g為一單個變量,則g為一包含n個

25、解的結(jié)構(gòu);若g為有n個變量的向量,則分別返回結(jié)果給相應(yīng)的變量。g = solve(eq1,eq2,eqn,var1,var2,varn) %對方程組eq1,eq2,eqn中指定的n個變量如var1,var2,varn求解。注意:對于單個的方程或方程組,若不存在符號解,則返回方程(組)的數(shù)值解。例3-15solve(a*x2 + b*x + c) solve(a*x2 + b*x + c,b) solve(x + y = 1,x - 11*y = 5) A = solve(a*u2 + v2, u - v = 1, a2 - 5*a +6)計算結(jié)果為:ans = 1/2/a*(-b+(b2-4*

26、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 以共同的子表達(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ù)雜的子字符串用符號SI

27、GMA代替。例3-16t = solve(a*x3+b*x2+c*x+d = 0); r,s = subexpr(t,s);pretty(t)pretty(r)計算結(jié)果為:(略)命令18 特征多項式函數(shù) poly格式 p = poly(A)或p = poly(A, v) 說明 若A為一數(shù)值陣列,則返回矩陣A的特征多項式的系數(shù),且有:命令poly(sym(A)近似等于poly2sym(poly(A)。其近似程度取決于舍入誤差的大小。若A為一符號矩陣,則返回矩陣A的變量為x的特征多項式。若帶上參量v,則返回變量為v的特征多項式。例3-17A = hilb(4); p = poly(A)q = po

28、ly(sym(A)s = poly(sym(A),z)計算結(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 將多項式系數(shù)向量轉(zhuǎn)化為帶符號變量的多項式函數(shù) poly2sym格式 r = poly2sym(c)和r = poly2sym(c, v) 說明 將系數(shù)在數(shù)值向量c中的多項式轉(zhuǎn)化成相應(yīng)的帶符號變量的多項式(按次數(shù)的降冪排列)。缺省的符號

29、變量為x;若帶上參量v,則符號變量用v顯示。poly2sym使用命令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-18r1 = poly2sym(1 2 3 4) r2 = poly2sym(.694228, sqrt(2), sin(pi/3) r3 = poly2sym(1 0 1 -1 2, y)計算結(jié)果為: r1 = x3+2*x2+3*x+4 r2 = 62530499242203

30、29/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-19A = sym(pascal(3);B = eig(A)pretty(B,50) % 多看幾次結(jié)果,會發(fā)現(xiàn)該命令顯示的特點syms xy=log(x)/sqrt(x);dy = diff(y)pretty(dy) 計算結(jié)果為:B = 1 4+15(1/2) 4 -15(1/2)

31、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) %返回字母表中接近x的n個符號變量例3-20syms a x y z t alpha beta1 = findsym(sin(pi*

32、t*alpha+beta)S2 = findsym(x+i*y-j*z+eps-nan)S3 = findsym(a+y,pi)計算結(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,則有g(shù)f(x) = x。g = finverse(f,u) %若符號函數(shù)f中有幾個符號變量時,對指定的符號自變量v計算其反函數(shù)。若其反函數(shù)存在,設(shè)為g,則有g(shù)f(v) = v。例3

33、-21syms x p q u v;V1 = finverse(1/(x2+p)*(x2+q) V2 = finverse(exp(u-2*v),u)計算結(jié)果為: Warning: finverse(1/(x2+p)/(x2+q) is not unique. In D:MATLABR12toolboxsymbolicsymfinverse.m at line 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 嵌套形式的多項式的表達(dá)式函數(shù) horner格式 R =

34、 horner(P) %若P為一符號多項式的矩陣,該命令將矩陣的每一元素轉(zhuǎn)換成嵌套形式的表達(dá)式R。例3-22syms x yH1 = horner(2*x4-6*x3+9*x2-6*x-4) H2 = horner(x2+x*y;y3-2*y)計算結(jié)果為: H1 = -4+(-6+(9+(-6+2*x)*x)*x)*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

35、求和r = symsum(s,a,b) %對符號表達(dá)式s中的符號變量k(由命令findsym(s)確定的)從a到b求和r = symsum(s,v,a,b) %對符號表達(dá)式s中指定的符號變量v從a到b求和例3-23syms k n xr1 = symsum(k3) r2 = 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á)式的檢驗,必須把它作為一符號表達(dá)式。計算結(jié)果為:r1 = 1/4*k4-1/2*k3+1/4*k2r

36、2 = 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)-1)r4 = 385r5 = exp(x)命令25 廣義超幾何函數(shù)函數(shù) hypergeom格式 hypergeom(n, d, z) %該命令為廣義超幾何函數(shù)F(n,d,z),即已知的Barnes擴展超幾何函數(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ù)的

37、定義為: , 其中 例3-24syms a z nH1 = hypergeom(,z)H2 = hypergeom(1,z) H3 = hypergeom(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) 計算結(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 = hype

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

39、戶對函數(shù)f、g進(jìn)行保存、更正、重新輸入、聯(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

40、與Figure No.2中的區(qū)間;a = :顯示一用于改變函數(shù)f的常量因子(見下面的操作按鈕)。可在該行輸入不同的常數(shù)??刂瓢粹o區(qū)域:該區(qū)域有一些按鈕,按下它們將對函數(shù)f轉(zhuǎn)換成不同的形式與執(zhí)行不同的操作。df/dx:函數(shù)f的導(dǎo)數(shù);int f:函數(shù)f的積分(沒有常數(shù)的一個原函數(shù)),當(dāng)函數(shù)f的原函數(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ù)不存在,操作可能失?。籪+a:用f(x)+a代替函數(shù)f(x);f-a:用f(x)-a代替函數(shù)f(x);f*

41、a:用f(x)+a代替函數(shù)f(x);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ù)列表中的第二項代替函數(shù)f(x);Delete:從內(nèi)存函數(shù)

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

43、側(cè)極限:左極限xa- 或右極限xa+。例3-25syms 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+2/n)(3*n),n,inf)計算結(jié)果為:L1 = 0L2 = infL3 = -infL4 = 1/xL5 = exp(a), 0L6 = exp(6)命令2 導(dǎo)數(shù)(包括偏導(dǎo)數(shù))函數(shù) d

44、iff格式 diff(S,v)、diff(S,sym(v) %對表達(dá)式S中指定符號變量v計算S的1階導(dǎo)數(shù)。 diff(S) %對表達(dá)式S中的符號變量v計算S的1階導(dǎo)數(shù),其中v=findsym(S)。 diff(S,n) %對表達(dá)式S中的符號變量v計算S的n階導(dǎo)數(shù),其中v=findsym(S)。 diff(S,v,n) %對表達(dá)式S中指定的符號變量v計算S的n階導(dǎo)數(shù)。例3-26syms x y tD1 = diff(sin(x2)*y2,2) %計算 D2 = diff(D1,y) %計算 D3 = diff(t6,6)計算結(jié)果為:D1 = -4*sin(x2)*x2*y2+2*cos(x2)*

45、y2D2 = -8*sin(x2)*x2*y+4*cos(x2)*yD3 = 720命令3 符號函數(shù)的積分函數(shù) int格式 R = int(S,v) %對符號表達(dá)式S中指定的符號變量v計算不定積分。注意的是,表達(dá)式R只是函數(shù)S的一個原函數(shù),后面沒有帶任意常數(shù)C。R = int(S) %對符號表達(dá)式S中的符號變量v計算不定積分,其中v=findsym(S)。R = int(S,v,a,b) %對表達(dá)式s中指定的符號變量v計算從a到b的定積分R = int(S,a,b) %對符號表達(dá)式s中的符號變量v計算從a到b的定積分,其中v=findsym(S)。例3-27syms x z t alphaIN

46、T1 = 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 = int(2*x, sin(t), 1) INT6 = int(exp(t),exp(alpha*t)計算結(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

47、/4INT5 = 1-sin(t)2INT6 = exp(t), 1/alpha*exp(alpha*t)命令4 常微分方程的符號解函數(shù) dsolve格式 r = dsolve(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(

48、a)=b,Dy(c)=d,D2y(e)=f,等等,分別表示 , , ;若邊界條件少于方程(組)的階數(shù),則返回的結(jié)果r中會出現(xiàn)任意常數(shù)C1,C2,;dsolve命令最多可以接受12個輸入?yún)⒘浚òǚ匠探M與定解條件個數(shù),當(dāng)然我們可以做到輸入的方程個數(shù)多于12個,只要將多個方程置于一字符串內(nèi)即可)。若沒有給定輸出參量,則在命令窗口顯示解列表。若該命令找不到解析解,則返回一警告信息,同時返回一空的sym對象。這時,用戶可以用命令ode23或ode45求解方程組的數(shù)值解。例3-28D1 = 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) % 帶一個定解條件D5 = dsolve(D2y = -a2*y, y(0) = 1, Dy(pi/a) = 0) % 帶兩個定解條件x,y = dsolve(Dx = y, Dy = -x) % 求解線性微分方程組u,v = dsolve(Du=u+v,Dv=

溫馨提示

  • 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

提交評論