Danh mục

matlab_toan_tap_10

Số trang: 10      Loại file: pdf      Dung lượng: 115.40 KB      Lượt xem: 7      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu matlab_toan_tap_10, kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
matlab_toan_tap_10 91Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com thøc. Trong MATLAB mét ®a thøc ®−îc biÓu diÔn b»ng mét vector hµng c¸c hÖ sè víi bËc gi¶m dÇn. VÝ dô ®a thøc x4-12x3+25x+116 ®−îc nhËp vµo nh− sau: >> p = [1 -12 0 25 116] p= 1 -12 0 25 116 Nhí r»ng môc dµnh cho hÖ sè 0 còng ph¶i ®−îc gâ vµo nÕu kh«ng MATLAB sÏ kh«ng hiÓu ®−îc hÖ sè cña biªñ thøc bËc mÊy lµ kh«ng. Sö dông d¹ng nµy th× nghiÖm cña mét ®a thøc cã thÓ t×m ®−îc b»ng c¸ch dïng hµm roots: >> r = roots(p) r= 11.7374 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i Bëi v× trong MATLAB c¶ ®a thøc vµ c¸c nghiÖm cña nã ®Òu lµ vector nªn MATLAB ngÇm quy −íc r»ng ®a thøc lµ vector hµng, cßn c¸c nghiÖm lµ c¸c vector cét. NÕu biÕt tr−íc nghiÖm cña mét ®a thøc th× ta dÔ dµng biÕt ®−îc ®a thøc ®ã. Trong MATLAB lÖnh poly sÏ thùc hiÖn c«ng viÖc nµy: >> pp = poly(r) pp= 1 -12 -1.7764e-14 25 116 % G¸n nh÷ng phÇn tö qu¸ nhá b»ng kh«ng >> pp(abs(pp)< 1e-12 = 0 1 -12 0 25 116 Bëi v× trong tÝnh to¸n thêng gÆp nh÷ng sai sè nªn ®«i khi kÕt qu¶ cña lÖnh poly cho ra c¸c ®a thøc cã c¸c hÖ sè gÇn b»ng kh«ng vµ c¸c ®a thøc cã phÇn ¶o rÊt nhá nh− ®−îc chØ ra ë trªn, c¸c gi¸ trÞ b»ng kh«ng cã thÓ ®−îc lµm trßn b»ng c¸c c«ng cô vÒ m¶ng. T−¬ng tù nh− vËy, ta cã thÓ lµm trßn mét sè phøc ®Ó trë thµnh mét sè thùc b»ng hµm real. 14.2 Nh©n ®a thøc Hµm conv thùc hiÖn nh©n hai ®a thøc (thùc ra lµ hai ma trËn), xÐt tÝch cña hai ®a thøc sau: a(x) = x3+2x2+3x+4 vµ b(x) = x3+4x2+9x+16 >> a = [1 2 3 4]; b = [1 4 9 16]; >> c = conv(a,b) c= 1 6 20 50 75 84 64 KÕt qu¶ lµ c(x) = x6 +6x5 +20x4 +50x3+75x2+84x+64 khi ta nh©n nhiÒu ®a thøc víi nhau th× ta ph¶i sö dông lÖnh conv nhiÒu lÇn. 14.3 PhÐp céng ®a thøc 92Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com MATLAB kh«ng cung cÊp c¸c hµm trùc tiÕp thùc hiÖn phÐp céng hai ®a thøc, dïng phÐp céng ma trËn chØ cã t¸c dông khi hai ®a thøc lµ hai vector cã cïng kÝch th−íc. VÝ dô nh− céng hai ®a thøc a(x) vµ b(x) ë trªn: >> d = a + b d= 2 6 12 20 3 2 KÕt qu¶ lµ d(x)=2x +6x +12x+20. Khi hai ®a thøc cã bËc kh¸c nhau th× ®a thøc cã bËc thÊp h¬n ph¶i ®−îc thªm vµo c¸c hÖ sè 0 ®Ó cho bËc cña nã cã cïng bËc víi ®a thøc cã bËc cao h¬n. XÐt phÐp céng hai ®a thøc c vµ d ë trªn: >> e = c + [0 0 0 d] e= 1 6 20 52 81 96 84 KÕt qu¶ lµ e(x)=x6+6x5+20x4+52x3+81x2+84. C¸c gi¸ trÞ 0 cÇn ph¶i ®−îc thªm vµo ë phÝa ®Çu cña vector chø kh«ng ph¶i phÝa ®u«i, bëi v× c¸c hÖ sè ®ã ph¶i t−¬ng øng víi c¸c hÖ sè bËc cao cña x. NÕu b¹n muèn, b¹n cã thÓ t¹o mét hµm M_file ®Ó thùc hiÖn phÐp c«ng ®a thøc tæng qu¸t: function p=polyadd(a,b) %POLYADD Polynomial addition %POLYADD(A,B) adds the polynomials A and B if nargin> f = polyadd(c,d) f= 1 6 20 52 81 96 84 KÕt qu¶ còng gièng nh− ®a thøc e ë trªn. TÊt nhiªn polyadd còng cã thÓ dïng ®Ó thùc hiÖn phÐp trõ. >> g = polyadd(c,-d) g= 1 6 20 48 69 72 44 14.4 Chia hai ®a thøc Trong mét sè tr−êng hîp ta ph¶i chia ®a thøc nµy cho mét ®a thøc kh¸c, trong MATLAB c«ng viÖc nµy ®−îc thùc hiÖn bëi hµm deconv, sö dông c¸c ®a thøc b vµ c ë trªn ta cã: >> [q,r] = deconv(c,b) q= 1 2 3 4 r= 0 0 0 0 0 0 0 93Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com KÕt qu¶ nµy chØ ra r»ng c ®em chia cho b th× ®−îc ®a thøc lµ q vµ ®a thøc d lµ r trong tr−êng hîp nµy ®a thøc d lµ ®a thøc 0 bëi v× c lµ ®a thøc chia hÕt cho q (nhí r»ng trªn ®©y ta ®· nhËn ®−îc ®a thøc c b»ng c¸ch ®em nh©n ®a thøc a víi ®a thøc b) 14.5 §¹o hµm Bëi v× dÔ dµng tÝnh ®−îc vi ph©n cña mét ®a thøc nªn MATLAB ®a ra hµm polyder ®Ó tÝnh vi ph©n ®a thøc: >> h = polyder(g) h= 6 30 80 144 138 72 14.6 TÝnh gi¸ trÞ cña mét ®a thøc Râ rµng r»ng b¹n cã thÓ céng, trõ, nh©n, chia, ®¹o hµm mét ®a thøc bÊt kú dùa trªn c¸c hÖ sè cña nã, b¹n còng cã thÓ dÔ dµng tÝnh ®−îc gi¸ trÞ c¸c ®a thøc nµy. Trong MATLAB hµm polyval sÏ thùc hiÖn c«ng viÖc nµy: >> x = linspace(-1,3); SÏ chän 100 ®iÓm d÷ liÖu gi÷a -1 vµ 3 >> p = [1 4 -7 -10]; Dïng ®a thøc p(x) = x3+4x2-7x-10 >> v = polyval(p,x); TÝnh gi¸ trÞ cña p(x) t¹i c¸c gi¸ trÞ cña x vµ l−u tr÷ kÕt qu¶ vµo trong m¶ng v. Sau ®ã kÕt qu¶ sÏ ®−îc vÏ ra b»ng lÖnh plot >> plot(x, v), title(‘x^3+4x^2-7x-10’), xlabel(‘x’) 94Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com H×nh 14.1 14.7 Ph©n thøc h÷u tØ §«i khi b¹n gÆp nh÷ng bµi to¸n liªn quan ®Õn tØ sè cña hai ®a thøc hay cßn gäi lµ ph©n thøc h÷u ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: