intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sử dụng symbolic math toolbox trong đồ họa

Chia sẻ: Phan Duc Nhuan Nhuan | Ngày: | Loại File: PDF | Số trang:42

162
lượt xem
33
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khỏa cung cấp cho các bạn nhiều kiến thức bổ ích về thiết kế đồ họa

Chủ đề:
Lưu

Nội dung Text: Sử dụng symbolic math toolbox trong đồ họa

  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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2