Xem mẫu

  1. Ch−¬ng 2 : sö dông symbolic math toolbox §1. Kh¸i niÖm chung Symbolic Math Toolboxes kÕt hîp tÝnh to¸n b»ng ch÷ vµo m«i tr−êng MATLAB.C¸c toolbox nµy bæ sung c¸c tiÖn Ých sè vµ ®å thÞ víi c¸c kiÓu tÝnh to¸n to¸n häc kh¸c nhau. TiÖn Ých Néi dung Calculus ®¹o hµm,tÝch ph©n,giíi h¹n,tæng vµ chuçi Taylor Linear Algebra nghÞch ®¶o,®Þnh thøc,gi¸ trÞ riªng,ph©n tÝch vµ d¹ng chÝnh t¾c cña ma trËn. Simplification ph−¬ng ph¸p rót gän c¸c biÓu thøc ®¹i sè Solution of gi¶i b»ng ch÷ vµ b»ng sè c¸c ph−¬ng tr×nh ®¹i sè vµ vi Equations ph©n Variable-Precision ®¸nh gi¸ ®é chÝnh x¸c cña c¸c biÓu thøc ®¹i sè Arithmetic Transform biÕn ®æi laplace,fourrier vµ z Special c¸c hµm to¸n häc ®Æc biÖt cña c¸c øng dông to¸n häc Mathematical kinh ®iÓn Function §éng lùc tÝnh to¸n n»m d−íi c¸c toolbox lµ nh©n Maple,mét hÖ thèng tÝnh to¸n ®−îc ph¸t triÓn ®Çu tiªn ë tr−êng ®¹i häc Waterloo,Canada vµ sau ®ã t¹i Eidgenroessiche Technische Hochschule Zurich,Thuþ sÜ.Maple ®−îc th−¬ng m¹i ho¸ vµ hç trî cña c«ng ty Waterloo Maple. §2. Khëi ®éng toolbox 1. C¸c ®èi t−îng ch÷:Trong phÇn nµy chóng ta sÏ xem xÐt c¸ch t¹o vµ dïng c¸c ®èi t−îng ch÷.Chóng ta còng sÏ xem xÐt c¸c biÕn ch÷ mÆc ®Þnh.Symbolic Math Toolbox ®Þnh nghÜa mét kiÓu d÷ liÖu MATLAB míi gäi lµ ®èi t−îng ch÷ hay sym.Bªn trong,mét ®èi t−îng ch÷ lµ mét cÊu tróc sè liÖu mµ nã l−u biÓu diÔn chuçi c¸c kÝ tù.Symbolic Math Toolbox dïng c¸c ®èi t−îng ch÷ ®Ó biÓu diÔn c¸c biÕn ch÷,c¸c biÓu thøc ch÷,c¸c ma trËn ch÷. 2. T¹o c¸c biÕn vµ c¸c biÓu thøc ch÷:LÖnh sym cho phÐp ta x©y dùng c¸c biÕn vµ c¸c biÓu thøc ch÷.VÝ dô lÖnh: x = sym('x') a = sym('alpha') t¹o ra c¸c biÕn ch÷ lµ x vµ vµ a víi x lµ x vµ a lµ alpha. 1+ 5 Gi¶ sö ta muèn ta muèn dïng biÕn ch÷ ®Ó biÓu diÔn tØ lÖ vµng ρ = .Ta dïng lÖnh: 2 rho = sym('(1 + sqrt(5))/2') B©y giê ta cã thÓ thùc hiªn c¸c phÐp to¸n kh¸c nhau víi rho.VÝ dô : f=rho^2-rho-1 f= (1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2) Ta rót gän biÓu thøc: simplify(f) 28
  2. ans = 0 B©y giê gi¶ sö ta muèn gi¶i ph−¬ng tr×nh bËc 2 f = ax 2 + bx + c .Ph¸t biÓu: f = sym('a*x^2 + b*x + c') g¸n biÓu thøc ch÷ ax2+bx+c cho biÕn f.Tuy nhiªn trong tr−êng hîp nµy Symbolic Math Toolbox kh«ng t¹o ra c¸c biÕn t−¬ng øng víi c¸c sè h¹ng a,b,c vµ x trong biÓu thøc.§Ó thùc hiÖn c¸c phÐp to¸n b»ng ch÷(vÝ dô tÝch ph©n,®¹o hµm,thay thÕ v.v) trªn f ta ph¶i t¹o c¸c biÕn mét c¸ch râ rµng,nghÜa lµ cÇn viÕt: a = sym('a') b = sym('b') c = sym('c') x = sym('x') hay ®¬n gi¶n lµ : syms a b c x Nãi chung lµ ta cã thÓ dïng sym hay syms ®Ó t¹o c¸c biÕn ch÷ nh−ng nªn dïng syms ®Ó tiÕt kiÖm thêi gian. 2. BiÕn ®æi gi÷a sè vµ ch÷: a. T¹o c¸c biÕn thùc vµ phøc:LÖnh sym cho phÐp ta m« t¶ c¸c thuéc tÝnh to¸n häc cña c¸c biÕn ch÷ b»ng c¸ch dïng tuú chän real.Ph¸t biÓu: x = sym('x','real'); y = sym('y','real'); hay hiÖu qu¶ h¬n: syms x y real z = x + i*y t¹o ra biÕn ch÷ x vµ y cã thuéc tÝnh lµ sè thùc.§Æc biÖt: f = x^2 + y^2 thùc sù lµ sè kh«ng ©m.Nh− vËy z lµ biÕn phøc vµ c¸c lÖnh: conj(x) conj(z) expand(z*conj(z)) cho kÕt qu¶: return the complex conjugates of the variables x x - i*y x^2 + y^2 LÖnh conj lµ to¸n tö t¹o sè phøc liªn hîp. §Ó xãa thuéc tÝnh real cña x ta dïng lÖnh: syms x unreal hay: x = sym('x','unreal') LÖnh clear x kh«ng xo¸ thuéc tÝnh sè real cña x. b. T¹o c¸c hµm trõu t−îng:NÕu ta muèn t¹o mét hµm trõ t−îng(nghÜa lµ mét hµm kh«ng x¸c ®Þnh) f(x) cÇn dïng lÖnh: f = sym('f(x)') Khi nµy f ho¹t ®éng nh− lµ f(x) vµ cã thÓ xö lÝ b»ng c¸c lÖnh toolbox.VÝ dô ®Ó tÝnh vi ph©n bËc 1 ta viÕt: 29
  3. df = (subs(f,'x','x+h') - f)/'h' hay syms x h df = (subs(f,x,x+h)-f)/h tr¶ vÒ: df = (f(x+h)-f(x))/h øng dông nµy cña hµm sym sÏ rÊt h÷u Ých trong biÕn ®æi Fourrier,Laplace vµ z. c. Dïng sym ®Ó truy cËp c¸c hµm cña Maple:Ta cã thÓ truy cËp hµm giai thõa k! cña Maple khi dïng sym. kfac = sym('k!') §Ó tÝnh 6! hay k! ta viÕt: syms k n subs(kfac,k,6) ans = 720 subs(kfac,k,n) ans = n! hay nÕu tÝnh 12! ta còng cã thÓ viÕt: prod(1:12) d. VÝ dô t¹o ma trËn ch÷: Mét ma trËn vßng lµ ma trËn mµ hµng sau cã ®−îc b»ng c¸ch dÞch c¸c phÇn tö cña hµng tr−íc ®i 1 lÇn.Ta t¹o mét ma trËn vßng A b»ng c¸c phÇn tö a,b vµ c: syms a b c A = [a b c; b c a; c a b] kÕt qu¶: A= [ a, b, c ] [ b, c, a ] [ c, a, b ] Do A lµ ma trËn vßng tæng mçi hµng vµ cét nh− nhau: sum(A(1,:)) ans = a+b+c sum(A(1,:)) == sum(A(:,2)) % This is a logical test. ans = 1 B©y giê ta thay A(2,3) b»ng beta vµ b b»ng alpha: syms alpha beta A(2,3) = beta; A = subs(A,b,alpha) A= [ a, alpha, c] [ alpha, c, beta] [ c, a, alpha] 30
  4. Tú vÝ dô nµy ta th¸y dïng c¸c ®èi t−îng ch÷ còng t−îng tù nh− dïng sè trong MATLAB. e. BiÕn ch÷ mÆc ®Þnh:Khi dïng c¸c hµm to¸n häc,viÖc chän c¸c biÕn ®éc lËp th−êng rÊt râ rµng.VÝ dô xem b¶ng sau: Hµm to¸n häc LÖnh MATLAB n f=x f = x^n g = sin(at+b) g = sin(a*t+b) h = Jv(z) h = besselj(nu,z) NÕu ta t×m ®¹o hµm cña c¸c hµm nµy nh−ng kh«ng m« t¶ biÕn ®éc lËp(nghÜa lµ ®¹o hµm theo biÕn nµo) th× kÕt qu¶ lµ :f’ = nxn-1 , g' = acos(at + b), vµ h' =J v (z)(v/z)-Jv+1(z). Nh− vËy c¸c biÕn ®éc lËp lµ x , t vµ z.MATLAB hiÓu c¸c biÕn ®éc lËp lµ c¸c ch÷ th−êng vµ n»m ë cuèi b¶ng ch÷ c¸i nh− x , y , z.Khi kh«ng th¸y c¸c ch÷ c¸i nµy,MATLAB sÏ t×m ch÷ gÇn nhÊt vµ coi ®ã lµ biÕn ®éc lËp.C¸c biÕn kh¸c nh− n,a,b vµ v ®−îc coi lµ h»ng hay th«ng sè.Tuy nhiªn ta cã thÓ lÊy ®¹o hµm cña f theo n b»ng c¸ch viÕt râ biÕn ®éc lËp ra.Ta dïng c¸c lÖnh sau ®Ó t¹o ra c¸c hµm: syms a b n nu t x z f = x^n; g = sin(a*t + b); h = besselj(nu,z); §Ó ®¹o hµm hµm f ta viÕt: diff(f); ans = x^n*n/x Trong vÝ dô trªn x lµ biÕn ®éc lËp.NÕu muèn tÝnh ®¹o hµm cña f theo n ta cÇn viÕt: diff(f,n) ans = x^n*log(x) 4. T¹o c¸c hµm to¸n häc b»ng ch÷: a. Dïng c¸c biÓu thøc ch÷:C¸c lÖnh: syms x y z r = sqrt(x^2 + y^2 + z^2) t = atan(y/x) f = sin(x*y)/(x*y) t¹o ra c¸c biÓu thøc ch÷ r , t vµ f.Ta cã thÓ dïng c¸c lÖnh diff,int,subs hay c¸c lÖnh Symbolic Math Toolbox kh¸c ®Ó xö lÝ c¸c biÓu thøc nh− vËy. b. T¹o c¸c M-file:M-file cho phÐp ta dïng c¸c hµm tæng qu¸t h¬n.VÝ dô ta muèn t¹o ra hµm sinc = sin(x)/x ta sÏ viÕt mét M-file cã néi dung nh− sau: function z = sinc(x) %SINC The symbolic sinc function % sin(x)/x. This function % accepts a sym as the input argument. if isequal(x,sym(0)) z = 1; else z = sin(x)/x; end 31
  5. Ta cã thÓ më réng c¸c vÝ dô nh− vËy cho c¸c hµm vµ biÕn kh¸c nhau. §3. TÝnh to¸n 1. §¹o hµm:Ta t¹o biÓu thøc ch÷: syms a x f = sin(a*x) VËy th×: df = diff(f) tÝnh ®¹o hµm cña hµm f(x) theo x.kÕt qu¶ lµ: df = cos(a*x)*a §Ó tÝnh ®¹o hµm cña f theo a ta viÕt: dfa = diff(f,a) kÕt qu¶: dfa= cos(a*x)*x Hµm to¸n häc LÖnh MATLAB f = xn f = x^n f’ = nxn-1 diff(f) hay diff(f,x) g = sin(at+b) g = sin(a*t+b) g’ = acos(at+b) diff(g) hay diff(g,t) h = Jv(z) h = besselj(nu,z) h’ = Jv(z)(v/z) - Jv+1(z) diff(h) hay diff(h,z) §Ó tÝnh ®¹o hµm bËc 2 cña f theo x vµ a ta viÕt: diff(f,2) ans = - sin(a*x)*a^2 diff(f,x,2) ans = - sin(a*x)*x^2 Hµm diff cã thÓ dïng ®èi sè lµ ma trËn.Trong tr−êng hîp nµy ®¹o hµm ®−îc thùc hiÖn trªn tõng phÇn tö.VÝ dô: syms a x A = [cos(a*x),sin(a*x);-sin(a*x),cos(a*x)] kÕt qu¶: A= [ cos(a*x), sin(a*x)] [-sin(a*x), cos(a*x)] lÖnh : dy = diff(A) cho kÕt qu¶: dy = [ -sin(a*x)*a, cos(a*x)*a] 32
  6. [ -cos(a*x)*a, -sin(a*x)*a] Ta cã thÓ vec t¬ theo vec t¬ hµng.ta kh¶o s¸t biÕn ®æi tõ to¹ ®é Euclid(x,y,z) sang t¹o ®é cÇu (r,λ,ϕ) thùc hiÖn b»ng c¸c c«ng thøc:x = rcosλcosϕ, y = rcosλsinϕ vµ z= rsinλ.§Ó tÝnh ma trËn Jacobi J cña phÐp biÕn ®æi nµy ta dïng hµm jacobian.§inh nghÜa to¸n häc cña J lµ: ∂( x, y, z ) J= ∂ ( r , λ , ϕ) §Ó dÔ viÕt ta dïng kÝ tù l thay cho λ vµ f thay cho ϕ.C¸c lÖnh: syms r l f x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); J = jacobian([x; y; z], [r l f]) cho ta kÕt qu¶: J= [ cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*sin(f) ] [ cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*cos(f)] [ sin(l), r*cos(l), 0] vµ lÖnh : detJ = simple(det(J)) cho: detJ = -cos(l)*r^2 Chó ý lµ ®èi sè thø nhÊt cña hµm jacobian ph¶i lµ vec t¬ cét vµ ®èi sè thø hai lµ vec t¬ hµng.H¬n n÷a do ®Þnh thøc cña ma trËn Jacobian lµ biÓu thøc l−îng gi¸c kh¸ phøc t¹p nªn ta dïng lÖnh simple ®Ó thay thÕ vµ rót gän. B¶ng sau tæng hîp hµm diff vµ hµm jacobian To¸n tö to¸n häc LÖnh MATLAB f = exp(ax + b) syms a b x f = exp(a*x + b) diff(x) hay df diff(f,x) dx diff(f,a) df da diff(f,a,2) d2f d 2a r = u2 + v2 syms r t u v t = arctan(v/u) r = u^2 + v^2 t = atan(v/u) ∂ ( r, t ) J = jacobian([r ; t],[u , v]) J= ∂( u, v ) 2. Giíi h¹n:§¹o hµm cña mét hµm lµ giíi h¹n sau ®©y nÕu nã tån t¹i : 33
  7. f ( x + h ) − f ( x) f ′( x) = lim h →0 h Symbolic Math Toolbox cho phÐp giíi h¹n cña mét hµm mét c¸ch trùc tiÕp h¬n.LÖnh: syms h n x dc = limit( (cos(x+h) - cos(x))/h,h,0 ) cho kÕt qu¶: dc = -sin(x) vµ : limit( (1 + x/n)^n,n,inf ) cho: ans = exp(x) minh ho¹ 2 trong sè c¸c giíi h¹n quan träng cña to¸n häc:®¹o hµm(trong tr−êng hîp cosx) vµ hµm mò.Trong khi nhiÒu giíi h¹n : lim f ( x) x →a lµ “hai phÝa”(nghÜa lµ kÕt qu¶ nh− nhau cho dï x tiÕn tíi bªn ph¶i hay bªn tr¸i cña a) l¹i cã nh÷ng hµm giíi h¹n ph¶i vµ tr¸i kh¸c nhau.Do ®ã 3 giíi h¹n: 1 1 1 lim , lim , lim x→ 0 x x→−0 x x→ +0 x cho 3 kÕt qu¶ kh¸c nhau : kh«ng x¸c ®Þnh , -∞ vµ +∞ Trong tr−¬ng hîp kh«ng tån t¹i gíi h¹n Symbolic Math Toolbox tr¶ vÒ kÕt qu¶ NaN.VÝ dô: limit(1/x,x,0) % Equivalently, limit(1/x) cho: ans = NaN LÖnh: limit(1/x,x,0,'left') cho: ans = -inf LÖnh: limit(1/x,x,0,'right') cho: ans = inf Nh− vËy limit(f) t−¬ng ®−¬ng víi limit(f,x,0).B¶ng sau cho c¸c giíi h¹n: Hµm to¸n häc LÖnh MATLAB limit(f) lim f ( x) x→ 0 limit(f,x,a) hay limit(f,a) lim f ( x) x →a limit(f,x,a,’left’) lim f ( x) x→ − a 34
  8. limit(f,x,a,’right’) lim f ( x) x→ + a 3. TÝch ph©n: a. C¸c vÊn ®Ò chung:NÕu f lµ mét biÓu thøc ch÷ th× int(f) t×m mét biÓu thøc kh¸c F sao cho diff(F) = f.Nh− vËy int(f) cho ta tÝch ph©n bÊt ®Þnh cña f.T−¬ng tù nh− ®¹o hµm int(f,v) lÊy tÝch ph©n theo biÕn ®éc lËp v.Ta cã b¶ng sau: Hµm to¸n häc LÖnh MATLAB n +1 int(x^n) hay x ∫x dx = n int(x^n,x) n +1 π int(sin(2*x),0,pi/2) hay 2 int(sin(2*x),x,0,pi/2) ∫ sin(2x)dx = 1 0 g = cos(at+b) g = cos(a*t + b) int(g) hay 1 ∫ g(t)dt = a sin(at + b) int(g,t) ∫ J1 (z)dz = − J 0 (z) int(besselj(1,z) hay int(besselj((1,z),z) Khi MATLAB kh«ng t×m ®−îc tÝch ph©n nã viÕt k¹i lÖnh ®· nhËp vµo. b. TÝch ph©n víi h»ng sè thùc:Mét trong c¸c vÊn ®Ò khi tÝnh tÝch ph©n lµ gi¸ trÞ cña c¸c 2 th«ng sè.Ta xÐt hµm e −( kx ) .Hµm nµy râ rµng lµ cã gi¸ trÞ d−¬ng víi mäi k vµ x vµ cã d¹ng h×nh 1 chu«ng.Gi¸ trÞ cña hµm tiÕn ®Õn 0 khi x→±∞ víi mäi sè thùc k.Ta lÊy vÝ dô k = vµ vÏ ®å 2 thÞ cña hµm b»ng c¸c lÖnh: syms x k = sym(1/sqrt(2)); f = exp(-(k*x)^2); ezplot(f) Tuy nhiªn nh©n Maple kh«ng coi k2 vµ x2 lµ nh÷ng sè d−¬ng mµ chØ lµ c¸c biÕn h×nh ∞ −( kx )2 ∫e thøc,kh«ng cã thuéc tÝnh to¸n häc.Do vËy khi tÝnh dx b»ng c¸c lÖnh: −∞ syms x k; f = exp(-(k*x)^2); int(f,x,-inf,inf) % Equivalently, inf(f,-inf,inf) kÕt qu¶ sÏ lµ: Definite integration: Can't determine if the integral is convergent. Need to know the sign of --> k^2 Will now try indefinite integration and then take limits. Warning: Explicit integral could not be found. ans = 35
  9. int(exp(-k^2*x^2),x= -inf..inf) Trong phÇn sau chóng ta sÏ xÐt c¸ch lµm cho MATLAB hiÓu r»ng k lµ sè thùc vµ do ®ã coi k2 lµ sè d−¬ng. c. C¸c biÕn thùc theo sym:Chó ý lµ Maple kh«ng thÓ x¸c ®Þnh ®−îc dÊu cña k2.VËy chóng ta gi¶i quyÕt khhã kh¨n nµy nh− thÕ nµo ?C©u tr¶ lêi lµ lµm cho k trë thµnh sè thùc b»ng dïng lÖnh sym.Mét ®Æc ®iÓm cã Ých cña sym gäi lµ tuú chän real cho phÐp ta khai b¸o k lµ biÕn thùc.Do vËy tÝch ph©n trªn hoµn toµn tÝnh ®−îc trong toolbox nhê c¸c lÖnh: syms k real % Be sure that x has been declared a sym. int(f,x,-inf,inf) kÕt qu¶ lµ: ans = signum(k)/k*pi^(1/2) Chó ý lµ k b©y giê lµ ®èi t−îng ch÷ trong vïng lµm viÖc cña MATLAB vµ lµ biÕn thùc trong vïng lµm viÖc cña Maple.Khi nhËp lÖnh: clear k ta chØ xo¸ ®−îc k trong vïng lµm viÖc cña MATLAB.Muèn lµ cho k kh«ng cßn lµ sè thùc trong vïng lµm viÖc cña Maple ta ph¶i dïng lÖnh: syms k unreal. Ta cã b¶ng sau: Hµm to¸n häc LÖnh MATLAB f ( x) = e − kx syms k x f = exp(-k*x) ∫ f (x)dx int(f) hay int(f,x) ∫ f ( k )dk int(f,k) int(f,0,1) hay 1 ∫ f (x)dx int(f,x,0,1) 0 syms k x real 2 g( x) = e −( kx ) g=exp(-(k*x)^2) ∞ int(g,-inf,inf) hay ∫ g(x)dx int(g,x,-inf,inf) −∞ 4. TÝnh tæng:Ta cã thÓ tÝnh tæng biÓu thøc ch÷ khi chóng tån t¹i b»ng c¸ch dïng lÖnh symcum.VÝ dô chuçi : 1 1 1+ 2 + 2 + ⋅⋅⋅ 2 3 cho tæng lµ π /6 cßn chuçi : 2 1 + x2 + x3 +. . . cho tæng lµ 1/(1-x).C¸c tæng ®−îc tÝnh nh− sau: syms x k s1 = symsum(1/k^2,1,inf) s2 = symsum(x^k,k,0,inf) s1 = 36
  10. 1/6*pi^2 s2 = -1/(x-1) 5. Chuçi Taylor:Cho hµm f(x).Ph¸t biÓu: T = taylor(f,8) cho kÕt qu¶: T= 1/9+2/81*x^2+5/1458*x^4+49/131220*x^6 lµ khai triÓn Taylor cña f(x) l©n cËn x = 0(khai triÓn MacLaurin) cã chøa 8 sè h¹ng kh¸c 0.Ph¸t biÓu: syms x g = exp(x*sin(x)) t = taylor(g,12,2) t¹o ra khai triÓn Taylor cña f(x) t¹i x = 2 vµ chøa ®Õn 12 sè h¹ng kh¸c 0.Ta vÏ c¸c hµm nµy lÖn cïng mét ®å thÞ ®Ó th¸y ®−îc kh¶ n¨ng xÊp xØ cña chuçi Taylá víi hµm thùc g: xd = 1:0.05:3; yd = subs(g,x,xd); ezplot(t, [1,3]); hold on; plot(xd, yd, 'r-.') title('Xap xi Taylor '); legend('Ham','Taylor') Xap xi Taylor Ham Taylor 6 5 4 3 2 1 1 1.5 2 2.5 3 x TiÕp ®ã ta dïng lÖnh: pretty(T) ®Ó in kÕt qu¶ d−íi d¹ng c¸c biÓu thøc to¸n häc dÔ ®äc. 6. C¸c vÝ dô kh¸c:Ta xÐt hµm: 1 f ( x) = 5 + 4 cos x C¸c lÖnh: syms x f = 1/(5+4*cos(x)) l−u biÓu thøc ch÷ ®Þnh nghÜa hµm f(x). 37
  11. Symbolic Math Toolbox cung cÊp mét bé c¸c lÖnh dÔ dïng ®Ó vÏ ®å thÞ c¸c biÓu ch÷,bao gåm c¸c ®−êng cong trong mÆt ph¼ng(ezplot),c¸c ®−êng ®¼ng møc(ezcontour vµ ezcontourf) , c¸c mÆt cong(ezsurf , ezsurfc , ezmesh vµ ezmeshc),®å thÞ trong to¹ ®é cùc(ezpolar) vµ ®−êng cong d−íi d¹ng th«ng sè (ezplot vµ ezplot3) va mÆt d−íi d¹ng th«ng sè (ezsurf).Trong phÇn nµy chóng ta xem c¸ch dïng hµm ezplot vÏ ®å thÞ hµm f(x).§å thÞ cña hµm nh− sau: Ph¹m vi mÆc ®Þnh khi vÏ ®å thÞ cña hµm lµ [-2π÷2π ].§Ó chØ cô thÓ ph¹m vÞ vÏ ®å thÞ ta dïng lÖnh: ezplot(f,[a b]) Lóc nµy ®å thÞ cña hµm ®−îc vÏ trong ®o¹n [a , b] B©y giê ta t×m ®¹o hµm bËc 2 cña f(x): f2 = diff(f,2) f2 = 32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x) Ta cã thÓ nhËp lÖnh: f2 = diff(f,x,2). 1/(5+4 cos(x)) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 -6 -4 -2 0 2 4 6 x Ta vÏ ®å thÞ cña f2: ezplot(f2) axis([-2*pi 2*pi -5 2]) 3 2 2 32/(5+4 cos(x)) sin(x) +4/(5+4 cos(x)) cos(x) 2 1 0 -1 -2 -3 -4 -5 -6 -4 -2 0 2 4 6 x 38
  12. Tõ ®å thÞ ta thÊy r»ng gi¸ trÞ cña f”(x) n»m trong kho¶ng [-4 , 1].Gi¸ trÞ max vµmin cña f”(x) xuÊt hiÖn t¹i f”’(x)=0.Ph¸t biÓu: f3 = diff(f2); cho 32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x) vµ : pretty(f3) cho: sin(x)3 sin(x) cos( x) sin(x) + 96 −4 384 (5 + 4 cos( x)) 4 (5 + 4 cos( x))3 (5 + 4 cos( x)) 2 Ta rót gän f3 vµ viÕt l¹i d−íi d¹ng dÔ ®äc: f3 = simple(f3); pretty(f3) KÕt qu¶ lµ: sin(x)(96 sin(x) 2 + 80 cos( x) + 80 cos( x) 2 − 25) 4 (5 + 4 cos( x)) 4 B©y giê ta t×m c¸c gi¸ trÞ zero cu¶ f3 b»ng lÖnh: z = solve(f3) kÕt qu¶ cho ta ma trËn: z= [ 0] [ atan((-255-60*19^(1/2))^(1/2) , 10+3*19^(1/2))] [ atan(-(-255-60*19^(1/2))^(1/2), 10+3*19^(1/2))] [ atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))+pi] [ -atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))-pi] Mçi hµng lµ mét nghiÖm cña f”’(x).LÖnh: format; % Default format of 5 digits zr = double(z) converts the zeros to double form. zr = Zero cua f3 0 3 0 0 2 2.4483 -2.4483 1 Nh− vËy ta ®· t×m ®−îc 5 nghiÖm.Tuy nhiªn ®å thÞ 0 cña f3 cho thÊy ta ch−a t×m ®ñ nghiÖm cña nã. -1 -2 -3 -6 -4 -2 0 2 4 6 x 39
  13. ezplot(f3) hold on; plot(zr,0*zr,'ro') plot([-2*pi,2*pi], [0,0],'g-.'); title('Zeros of f3') §iÒu nµy x¶y ra do f”’(x) chøa sè h¹ng sinx,b»ng 0 t¹i c¸c gi¸ trÞ nguyªn lÇn π nh−ng hµm solve(sin(x)) l¹i chØ ®−a ra gi¸ trÞ 0 t¹i x = 0.Chóng ta cã thÓ nhËn ®−îc tÊt c¶ c¸c nghiÖm b»ng c¸ch biÕn ®æi zr = [0 zr(4) pi 2*pi -zr(4)] b»ng c¸ch nh©n 2π vµ cã zr = [zr-2*pi zr zr+2*pi] B©y giê ta vÏ zr ®· biÕn ®æi lªn ®å thÞ cña f3: plot(zr,0*zr,'kx') Zero cua f3 §iÓm 0 ®Çu tiªn cña f”’(x) t×m bëi 3 solve lµ t¹i x = 0.Chóng ta thay thÕ 0 vµo biÕn ch÷ trong f2: 2 f20 = subs(f2,x,0) ®Ó t×m gi¸ trÞ t−¬ng øng cña 1 f”(0).KÕt qu¶ lµ: 0 f20 = 0.0494 -1 Trªn ®å thÞ cña f”(x) gi¸ trÞ nµy chØ lµ cùc tiÓu ®Þa ph−¬ng.Ta thÓ hiÓn -2 ®iÒu nµy trªn ®å thÞ b»ng c¸c lÖnh: clf -3 ezplot(f2) axis([-2*pi 2*pi -4.25 1.25]) -6 -4 -2 0 2 4 6 x Ve do thi f2 = f''(x) ylabel('f2'); 1 title('Ve do thi f2 = f''''(x)') hold on 0 plot(0,double(f20),'ro') Local minimum text(-1,-0.25,'Local minimum') KÕt qu¶ ®å thÞ nh− sau: -1 2 f -2 -3 -4 -6 -4 -2 0 2 4 6 x Tõ ®å thÞ ta thÊy r»ng ®iÓm cùc tiÓu x¶y ra t¹i x gÇn ±π.Ta cã thÓ tÝnh chÝnh x¸c lµ diÓm cùc tiÓu ®óng t¹i ±π b»ng c¸ch dïng c¸c lÖnh theo tr×nh tù sau.Tr−íc hÕt ta thay ±π vµo f”’(x): simple([subs(f3,x,-pi),subs(f3,x,pi)]) Ve do thi f2 = f''(x) 1 40 0
  14. KÕt qu¶: ans = [ 0, 0] Nh− vËy x = ±π lµ ®iÓm ®Æc biÖt cña f”’(x).Ta thÊy r»ng x = ±π lµ ®iÓm cùc tiÓu toµn côc cña f2. m1 = double(subs(f2,x,-pi)); m2 = double(subs(f2,x,pi)); plot(-pi,m1,'go',pi,m2,'go') text(-1,-4,'Global minima') Gi¸ trÞ cùc tiÓu ®ã lµ: [m1 m2] ans = -4 -4 C¸c ph©n tÝch trªn cho thÊy lµ ph¹m vi gi¸ trÞ cña f”(x) lµ tõ [ -4 ,1].Ta tiÕp tôc kiÓm tra c¸c ®iÓm 0 kh¸c cho bëi solve.Tr−íc hÕt ta t¸ch nghiÖm thø 4 trong z vµ g¸n nã cho mét biÕn riªng: s = z(4) vµ nhËn ®−îc kÕt qu¶: s= atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))+pi Thùc hiÖn: sd = double(s) ®Ó nhËn ®−îc gi¸ trÞ sè cña s sd = 2.4483 Ta vÏ ®iÓm (s,f2(s) theo f2: M1 = double(subs(f2,x,s)); plot(sd,M1,'ko') text(-1,1,'Global maximum') ®Ó thÊy ®−îc lµ s lµ ®iÓm max.Gi¸ trÞ max nµy lµ M1 = 1.0051 B©y giê ta tÝch ph©n f”(x) hai lÇn b»ng lÖnh: g = int(int(f2)) vµ cã kÕt qu¶: g= -8/(tan(1/2*x)^2+9) 41
  15. §©y kh«ng ph¶i lµ hµm f(x) ta xÐt ban ®Çu.Sai kh¸c gi÷a g(x) vµ f(x) lµ: d=f-g cho ta: d= 1/(5+4*cos(x))+8/(9+tan(1/2*x)^2) pretty(d) 1 8 + 5 + 4 cos( x) 9 + tan(1 / 2 x) 2 Ta cã thÓ rót gän d b»ng lÖnh simple(d) hay simplify(d).C¶ hai cho kÕt qu¶: ans = 1 §iÒu nµy minh ho¹ cho kh¸i niÖm lµ ®¹o hµm hµm f(x) hai lÇn vµ råi tÝch ph©n kÕt qu¶ hai lÇn ta nhËn ®−îc mét hµm kh¸c víi f(x) bëi mét hµm tuyÕn tÝnh cña x. Cuèi cïng tÝch ph©n f(x) mét lÇn ta cã: F = int(f) F= 2/3*atan(1/3*tan(1/2*x)) bao gåm c¶ hµm arctan.Nh− vËy F(x) lµ nguyªn hµm cña mét hµm liªn tôc nh−ng b¶n th©n l¹i lµ hµm kh«ng liªn tôc mµ cã ®å thÞ nh− sau: ezplot(F) 2/3 atan(1/3 tan(1/2 x)) 1 0.5 0 -0.5 -1 -6 -4 -2 0 2 4 6 x Hµm F(x) gi¸n ®o¹n t¹i ±π.   §4. Rót gän vµ thay sè 1. Rót gän biÓu thøc:Ta xÐt 3 biÓu thøc kh¸c nhau: syms x f = x^3-6*x^2+11*x-6 g = (x-1)*(x-2)*(x-3) 42
  16. h = x*(x*(x-6)+11)-6 Thùc hiÖn c¸c lÖnh: pretty(f), pretty(g), pretty(h) ta nhËn ®−îc: f = x3 - 6x2 +11x-6 g = (x-1)(x-2)(x-3) h = x(x(x-6)+11)-6 C¶ 3 biÓu thøc nµy lµ c¸c d¹ng biÓu diÔn to¸n häc kh¸c nhau cña cïng mét hµm to¸n häc-®ã lµ ®a thøc bËc 3 theo x.Mçi mét d¹ng thÝch hîp víi mét d¹ng tÝnh to¸n.D¹ng thø nhÊt f lµ d¹ng chung nhÊt th−êng ®−îc dïng biÓu diÔn ®a thøc.Nã ®¬n gi¶n lµ mét tæ hîp tuyÕn tÝnh cña c¸c sè mò cña x.D¹ng thø 2,hµm g,lµ d¹ng ph©n tÝch thµnh thõa sè.Nã biÓu diÔn nghiÖm cña ®a thøc.Tuy nhiªn kh«ng phai ®a thøc nµo còng cã nghiÖm,nghÜa lµ cã thÓ ph©n tÝch thµnh thõa sè.D¹ng thø 2 lµ d¹ng Horner cña ®a thøc.Nã rÊt tiÖn dïng ®Ó tÝnh trÞ sè cña ®a thøc t¹i mét gi¸ trÞ nµo ®ã cña x. Symbolic Math Toolbox cung cÊp mét sè hµm dïng ®Ó biÕn ®æi c¸c biÓu thøc ®¹i sè vµ l−îng gi¸c thµnh c¸c biÓu thøc ®¬n gi¶n h¬n.Chóng gåm: collect,expand, horner, factor, simplify, vµ simple. a.collect:Ph¸t biÓu: collect(f) xem f nh− mét ®a thøc gåm c¸c biÕn ch÷ x vµ gép tÊt c¶ c¸c hÖ cïng bËc cña x.§èi sè thø 2 cña chØ râ biÕn ®Þnh gép nÕu cã nhiÒu iÕn trong biÓu th−c.Sau ®©y lµ mét sè vÝ dô: f collect(f) (x-1)(x-2)(x-3) x^3-6*x^2+11*x-6 x*(x*(x-6)+11)-6 x^3-6*x^2+11*x-6 (1+x)*t + x*t 2*x*t+t b.expand:Ph¸t biÓu: expand(f) khai triÓn biÓu thøc.Sau ®©y lµ mét sè vÝ dô: f expand(f) a*(x+y) a*x+a*y (x-1)*(x-2)*(x-3) x^3-6*x^2+11*x-6 x*(x*(x-6)+11)-6 x^3-6*x^2+11*x-6 exp(a+b) exp(a) + exp(b) cos(x+y) cos(x)*cos(y)-sin(x)*sin(y) cos(3*acos(x)) 4*x^3-3*x c.horner:Ph¸t biÓu: horner(f) biÕn ®æi mét ®a thøc thµnh d¹ng Horner hay biÓu diÔn lång nhau.VÝ dô: f horner(f) x^3-6*x^2+11*x-6 -6+(11+(-6+x)*x)*x 1.1+2.2*x+3.3*x^2 11/10+(11/5+33/10*x)*x 43
  17. d.factor:NÕu f lµ ®a thøc hÖ sè h÷u tØ,ph¸t biÓu: factor(f) biÓu diÔn f nh− lµ tÝch cña c¸c ®a thøc cã bËc thÊp h¬n víi hÖ sè h÷u tû.VÝ dô: f factor(f) x^3-6*x^2+11*x-6 (x-1)*(x-2)*(x-3) x^3–6*x^2+11*x–5 x^3–6*x^2+11*x–5 x^6+1 (x^2+1)*(x^4–x^2+1) §©y lµ mét vÝ dô kh¸c vÒ ph©n tÝch ®a thøc xn +1 thµnh thõa sè: syms x; n = 1:9; x = x(ones(size(n))); p = x.^n + 1; f = factor(p); [p; f].' tr¶ vÒ ma trËn víi c¸c ®a thøc ë cét thø nhÊt vµ c¸c thõa sè ë c«th thø 2: [ x+1, x+1 ] [ x^2+1, x^2+1 ] [ x^3+1, (x+1)*(x^2-x+1) ] [ x^4+1, x^4+1 ] [ x^5+1, (x+1)*(x^4-x^3+x^2-x+1)] [ x^6+1, (x^2+1)*(x^4-x^2+1) ] [ x^7+1, (x+1)*(1-x+x^2-x^3+x^4-x^5+x^6) ] [ x^8+1, x^8+1 ] [ x^9+1, (x+1)*(x^2-x+1)*(x^6-x^3+1) ] Hµm factor cã thÓ ph©n tÝch c¸c ®èi t−îng ch÷ cã chøa sè nguyªn thµnh thõa sè.VÝ dô: one = '1' for n = 1:11 N(n,:) = sym(one(1,ones(1,n))); end [N factor(N)] cho kÕt qu¶: [ 1, 1] [ 11, (11) ] [ 111, (3)*(37) ] [ 1111, (11)*(101) ] [ 11111, (41)*(271) ] [ 111111, (3)*(7)*(11)*(13)*(37) ] [ 1111111, (239)*(4649) ] [ 11111111, (11)*(73)*(101)*(137) ] [ 111111111, (3)^2*(37)*(333667) ] [ 1111111111, (11)*(41)*(271)*(9091)] [ 11111111111, (513239)*(21649) ] 44
  18. e.simplify:Hµm simplify lµ mét hµm m¹nh,dïng rót gän c¸c biÓu thøc.Sau ®©y lµ mét sè vÝ dô: f simplify(f) x*(x*(x-6)+11)-6 x^3-6*x^2+11*x-6 (1-x^2)/(1-x) x+1 (1/a^3+6/a^2+12/a+8)^(1/3) ((2*a+1)^3/a^3)^(1/3) syms x y positive log(x) + log(y) log(x*y) exp(x) * exp(y) exp(x+y) besselj(2,x) - ... 0 2*besselj(1,x)/x + besselj(0,x) gamma(x+1)-x*gamma(x) 0 cos(x)^2 + sin(x)^2 1 f.simple: Hµm simple ®−a ra d¹ng ng¾n nhÊt cã thÓ cã cña mét biÓu thøc.Hµm nµy cã nhiÒu d¹ng,mçi d¹ng tr¶ vÒ kÕt qu¶ kh¸c nhau.D¹ng: simple(f) hiÓn thÞ d¹ng ng¾n nhÊt.VÝ dô: syms x simple(cos(x)^2 + sin(x)^2) ans = 1 Trong mét sè tr−êng hîp,¸p dông simple 2 lÇn ®Ó nhËn ®−îc hiÖu qu¶ rót gän cao h¬n.VÝ dô: syms a f = (1/a^3+6/a^2+12/a+8)^(1/3); simple(simple(f)) cho ta: 1/a+2 Trong khi lÖnh : syms a simple(f) cho ta: (2*a+1)/a Hµm simple ®Æc biÖt cã hiÖu qu¶ trªn c¸c biÓu thøc l−îng gi¸c.Sau ®©y lµ mét sè vÝ dô: f simple(f) cos(x)^2+sin(x)^2 1 2*cos(x)^2-sin(x)^2 3*cos(x)^2-1 cos(x)^2-sin(x)^2 cos(2*x) cos(x)+(-sin(x)^2)^(1/2) cos(x)+i*sin(x) cos(x)+i*sin(x) exp(i*x) cos(3*acos(x)) 4*x^3-3*x 45
  19. 2. Thay sè: Cã hai hµm dïng ®Ó thay trÞ lµ subexpr vµ subs a. subexpr:LÖnh : syms a x s = solve(x^3+a*x+1) gi¶i ph−¬ng tr×nh : x^3+a*x+1 = 0 theo x. KÕt qu¶: [ 1/6*(- 108+12*(12*a^3+81)^(1/2))^(1/3)-2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3)] [ -1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(- 108+12*(12*a^3+81)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(- 108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3))] [ -1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(-108+12*(12*a^3+81)^(1/2))^(1/3)- 1/2*i*3^(1/2)*(1/6*(-108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(- 108+12*(12*a^3+81)^(1/2))^(1/3))] Dïng lÖnh pretty ®Ó nhËn ®−îc d¹ng dÔ ®äc h¬n: [ 1/3 a ] [ 1/6 %1 - 2 ----- ] [ 1/3 ] [ %1 ] [ ] [ 1/3 a 1/2 / 1/3 a \] [- 1/12 %1 + ----- + 1/2 i 3 | 1/6 %1 + 2 ----- | ] [ 1/3 | 1/3 | ] [ %1 \ %1 / ] [ ] [ 1/3 a 1/2 / 1/3 a\ ] [- 1/12 %1 + ----- - 1/2 i 3 | 1/6 %1 + 2 ----- | ] [ 1/3 | 1/3 | ] [ %1 \ %1 / ] 3 1/2 %1 := -108 + 12 (12 a + 81) LÖnh pretty thõa kÕ kh¸i niÖm %n(n lµ mét sè nguyªn) tõ Maple ®Ó ®Þnh nghÜ biÓu thøc con gÆp hiÒu lÇn trong ®èi t−îng ch÷.Hµm subexpr cho phÐp ta l−u c¸c biÓu thøc con nµy còng nh− c¸c ®èi t−îng ch÷ ®−îc viÕt trong biÓu thøc con.C¸c biÓu thøc con ®−îc l−u trong mét ma trËn cét gäi lµ sigma. TiÕp tôc vÝ dô cña ta: r = subexpr(s) cho ta sigma = -108+12*(12*a^3+81)^(1/2) r= [ 1/6*sigma^(1/3)-2*a/sigma^(1/3)] [ -1/12*sigma^(1/3)+a/sigma^(1/3)+1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))] 46
  20. [ -1/12*sigma^(1/3)+a/sigma^(1/3)-1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))] ta thÊy r»ng subexpr t¹o biÕn signma rg vïng lµm viÖc cña MATLAB. b.subs:Ta t×m gi¸ trÞ riªng vµ vec t¬ riªng cña ma trËn vßng A: syms a b c A = [a b c; b c a; c a b]; [v,E] = eig(A) v= [ 1, -(a+(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2)-b)/(a-c), -(a-(b^2-b*a- c*b-c*a+a^2+c^2)^(1/2)-b)/(a-c)] [ 1, -(b-c-(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2))/(a-c), -(b-c+(b^2-b*a- c*b-c*a+a^2+c^2)^(1/2))/(a-c)] [ 1, 1, 1] E= [ b+a+c, 0, 0] [ 0, (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2), 0] [ 0, 0, -(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2)] Gi¶ sö ta muèn thay biÓu thøc kh¸ dµi: (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2) trong v vµ E.Tr−íc hÕt ta dïng subexpr: v = subexpr(v,'S') cho ta kÕt qu¶: S= (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2) v= [ -(a+S-b)/(a-c), -(a-S-b)/(a-c), 1] [ -(b-c-S)/(a-c), -(b-c+S)/(a-c), 1] [ 1, 1, 1] Sau ®ã thay S vµo E: E = subs(E,S,'S') E= [ S, 0, 0] [ 0, -S, 0] [ 0, 0, b+c+a] B©y giê gi¶ sö ta muèn tÝnh v khi a = 10.Ta dïng lÖnh sau: subs(v,a,10) sÏ thay c¸c biÕn a trong v b»ng sè 10: [ -(10+S-b)/(10-c), -(10-S-b)/(10-c), 1] [ -(b-c-S)/(10-c), -(b-c+S)/(10-c), 1] [ 1, 1, 1] Chó ý lµ c¸c biÓu thøc cã S kh«ng bÞ ¶nh h−ëng g× c¶,nghÜa lµ biÕn a trong S kh«ng ®−îc thay b»ng 10.Hµm subs lµ hµm h÷u Ých ®Ó thay thÕ nhiÒu gi¸ trÞ cña nhiÒu biÕn trong mét biÓu thøc.Ta xem S.Gi¶ sö ngoµi viÖc thay a =10 ta còng muèn thay gi¸ trÞ b = 2 vµ c = 10 vµo biÓu 47
nguon tai.lieu . vn