YOMEDIA
ADSENSE
Giao trinh matlab v5.2 P7
69
lượt xem 16
download
lượt xem 16
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Ngôn ngữ có kiểu yếu không quá khắt khe trong các qui tắc về kiểu hoặc cho phép một cơ chế tường minh để xử lý các vi phạm. Thường nó cho phép hành xử các biểu hiện chưa được định nghĩa trước, các vi phạm về sự phân đoạn (segmentation), hay là các biểu hiện không an toàn khác khi mà các kiểu bị gán giá trị một cách không đúng.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giao trinh matlab v5.2 P7
- Ch−¬ng 4 - §å ho¹ hai chiÒu ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ H×nh 4.2 Quay thùc thÓ quanh trôc x3 Trong hÖ to¹ ®é kh«ng gian th−êng (x, y) ®Ó biÓu diÔn ®iÎm ë v« cïng Ýt nhÊt trong hai gi¸ trÞ cña ®iÓm = α. Nh−ng trong hÖ to¹ ®é thuÇn nhÊt, viÖc biÓu diÔn chØ th«ng qua b»ng c¸ch cho gi¸ trÞ W = 0 víi x1, y1 lμ nh÷ng sè h÷u h¹n bÊt kú. Tuy nhiªn chóng ta kh«ng ®i s©u vμo ®iÓm nμy, b¹n ®äc cã thÓ tham kh¶o c¸c tμi liÖu vÒ ®å ho¹ m¸y tÝnh vμ c¸c bμi to¸n chiÕu phèi c¶nh, ë ®©y chóng ta chØ nãi vÒ ph−¬ng ph¸p t¹o ra c¸c phÐp biÕn ®æi trong kh«ng gian ®å ho¹. Víi H×nh 4.3 c¸c ®iÓm t¹o nªn h×nh vu«ng ®−îc cho c¸c gi¸ trÞ nh− sau: −0.5 −0.5 0.5 0.5 P1 = 0 , P2 = 1 , P3 = 1 , P4 = 1 1 1 1 1 Nh− chóng ta ®· biÕt gi¸ trÞ to¹ ®é thø ba - W ®−îc cho b»ng 1, ë ®©y chóng ta ®· sö dông ®Õn kü thuËt phæ biÕn trong c¸c bμi to¸n ®å ho¹ vμ víi Matlab chóng ta dÔ dμng thÓ hiÖn b»ng c¸c c©u lÖnh sau: >> P1 = [-0.5; 0; 1]; P2 = [-0.5; 1; 1]; >> P3 = [0.5; 1; 1]; P4 = [0.5; 0; 1]; (Chó ý r»ng ma trËn P chøa 2 vector P1 dïng cho viÖc ®ãng h×nh vu«ng) ViÖc t¹o ta h×nh vu«ng trªn mμn ®å ho¹ th«ng qua biÕn square >> square = [ P1 P2 P3 P4 P1 ] ; >> plot ( square( 1,: ), square( 2,: ) ) >> axis([-4 4 -1 5]); >> title ('h×nh vu«ng víi tØ lÖ trôc [ -4 4 -1 5 ]'); PhÇn 1 - C¬ së 56
- Ch−¬ng 4 - §å ho¹ hai chiÒu hinh vuong voi ti le truc [ -4 4 -1 5 ] 1 5 4 0.8 3 0.6 2 0.4 1 0.2 0 0 -1 -0.5 0 0.5 -4 -2 0 2 4 H×nh 4.3 a. H×nh vu«ng chuÈn b. H×nh vu«ng sau khi thay ®æi tØ lÖ trôc to¹ ®é viÖc t¹o ta h×nh vu«ng trªn mμn ®å ho¹ th«ng qua biÕn square >> square = [ P1 P2 P3 P4 P1 ] ; >> plot ( square( 1,: ), square( 2,: ) ) >> axis([-4 4 -1 5]); >> title ('h×nh vu«ng víi tØ lÖ trôc [ -4 4 -1 5 ]') 4.2.2 PhÐp chuyÓn dÞch Hμm biÕn ®æi chuyÓn vÞ víi c¸c kho¶ng dx vμ dy song song trªn 2 trôc x vμ y. function T = Translate ( dx , dy ) T = [1 0 dx; 0 1 dy; 0 0 1]; % ma trËn dÞch chuyÓn trong hÖ to¹ ®é ®ång nhÊt 0 0 dx = %T 0 1 dy 0 0 1 ViÖc dÞch chuyÓn h×nh vu«ng 1 kho¶ng ®¬n vÞ theo x vμ 2 kho¶ng ®¬n vÞ theo y ®uîc thÓ hiÖn b»ng c¸c dßng lÖnh: >> P = translate ( 1 , 2) * square >> plot ( P( 1 , : ), P ( 2 , : ) ); >> axis ( [-3 3 -1 3] ) >> title (' H×nh vu«ng thay ®æi vÞ trÝ theo dx vμ dy ') PhÇn 1 - C¬ së 57
- Ch−¬ng 4 - §å ho¹ hai chiÒu hinh vuong dich theo dx= 1, dy= 2 5 4 3 2 1 0 -1 -4 -2 0 2 4 H×nh 4.4 H×nh vu«ng dÞch chuyÓn theo ®é dμi dx vμ dy 4.2.3. PhÐp quay Hμm quay quanh gèc to¹ ®é víi mét gãc φ bÊt kú ng−îc chiÒu kim ®ång hå ®−îc viÕt. Function R = rotate (fi) c o s φ − s in φ 0 %R = s i n φ cosφ 0 0 0 1 R= [cos(fi) -sin(fi) 0 sin(fi) cos(fi) 0 0 0 1] H×nh vu«ng quay theo goc 45 4 3 2 1 H×nh 4.5 H×nh vu«ng quay 1 gãc 45 theo gèc to¹ ®é PhÇn 1 - C¬ së 58
- Ch−¬ng 4 - §å ho¹ hai chiÒu H×nh 4.5 thu ®−îc th«ng qua dßng lÖnh d−íi Matlab nh− sau, víi gãc quay θ = 450. >> P = rotate (45*pi/180)*square >> plot (P( 1 , : ), P ( 2 , : ) ), axis ([-3 3 -1 3]) >> title ('H×nh vu«ng quay theo goc 45 ') Quay theo goc 60 dich chuyen tren doan dx=1, dy=2 5 4 3 2 1 0 -1 -4 -2 0 2 4 H×nh 4.6 Tæ hîp cña hai phÐp biÓn ®æi Hay h×nh 4.6 thu ®−îc 1 c¸ch dÔ dμng trªn c¬ së kÕt hîp cña 2 ph−¬ng ph¸p chuyÓn ®æi. >> P = rotate (30*Pi/180)*translate(1,2)*square >> plot (P( 1 , : ), P ( 2 , : ) ), axis ([-4 4 -1 5]) >> title ('H×nh vu«ng quay vμ dÞch chuyÓn ') 4.2.4 PhÐp tØ lÖ (Scaling) Hμm d−íi ®©y cho phÐp biÕn ®æi tû lÖ cña h×nh theo 1 tû lÖ nhÊt ®Þnh. ViÖc biÕn ®æi tû lÖ ®−îc thùc hiÖn qua phÐp nh©n ma trËn S v¬ Sx, Sy lμ 2 hÖ sè biÕn ®æi. Sx 0 0 %S = 0 Sy 0 0 0 1 function S = scale (Sx, Sy) S = [ Sx 0 0; 0 Sy 0; 0 0 1 ] VÝ dô viÖc biÕn ®æi h×nh vu«ng 2 lÇn theo x vμ 3 lÇn theo y ®−îc thùc hiÖn nhê c¸c lÖnh sau. >> P = scale (2,3)*square >> plot (P( 1 , : ), P ( 2 , : ) ) >> title ('H×nh vu«ng thay ®æi tØ lÖ theo x = 2 theo y = 3’) PhÇn 1 - C¬ së 59
- Ch−¬ng 4 - §å ho¹ hai chiÒu Hinh vuong bien doi ti le 5 4 3 2 1 0 -1 -4 -2 0 2 4 H×nh 4.7 PhÐp biÕn ®æi tØ lÖ H×nh 4.7 cho thÊy sù biÕn ®æi cña h×nh vu«ng qua hμm scale. ViÖc thay ®æi ®ã thùc hiÖn qua gèc to¹ ®é. PhÐp chuyÓn vÞ, phÐp quay hay scale ®Òu cã thÓ hÕt hîp lÉn víi nhau 1 c¸ch dÔ dμng. ViÖc chuyÓn ®æi vÞ trÝ cña c¸c phÐp biÕn ®æi sÏ ®em ®Õn c¸c h×nh ¶nh kh¸c nhau. >> P = Scale(2,2)*roate(30*Pi/180)translate(1,1)*square >> plot (P( 1 , : ), P ( 2 , : ) ), axis ([-4 4 -1 5]) >> title ('H×nh vu«ng quay') 5 5 4 4 3 3 2 2 1 1 0 0 -1 -1 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 H×nh 4.8 H×nh 4.9 ¶nh 4.8 kh¸c víi ¶nh 4.9 víi phÐp ®¶o vÞ trÝ phÐp to¸n >> P = translate(1,1) *rotate(30*Pi/180)*Scale(2,2) *square >> plot (P( 1 , : ), P ( 2 , : ) ), axis ([-4 4 -1 5]) >> title ('H×nh vu«ng quay') PhÇn 1 - C¬ së 60
- Ch−¬ng 4 - §å ho¹ hai chiÒu 4.3. C¸c hμm chuÈn ®Ó biÓu diÔn ®å ho¹ 2 chiÒu Nh− ®· giíi thiÖu qua víi b¹n ®äc ë phÇn trªn, Matlab lμ c«ng cô rÊt m¹nh cho viÖc xö lý vμ thÓ hiÖn d−íi d¹ng ®å ho¹. Hμm Plot trong Matlab th−êng ®−îc sö dông liªn tôc cho viÖc vÏ vμ t¹o lËp c¸c d¹ng ®å thÞ 2 chiÒu. D¹ng ®¬n gi¶n nhÊt ®Ó thÓ hiÖn d÷ liÖu lμ Plot nh−ng kiÓu ®−êng hay mÇu cña ®−êng ®−îc x¸c ®Þnh trªn biÕn str cña hμm. B¶ng d−íi ®©y sÏ cho phÐp chóng ta n¾m ®Çy ®ñ mäi th«ng tin vÒ hμm. 4.3.1 C¸c bé lÖnh vÏ a. LÖnh PLOT VÏ theo vector y vμ x (y trôc tung cña hÖ, x trôc plot ( x,y ) hoμnh). §å thÞ thu ®−îc sÏ lμ tËp cña c¸c ®iÓm (xi,yi). VÏ ra tËp c¸c ®iÓm (i,yi) víi y lμ c¸c ®iÓm trªn trôc plot ( y ) tung vμ i lμ c¸c ®iÓm trªn trôc hoμnh. VÏ theo tËp c¸c sè ¶o ( real( z ), image( z ) ). Trôc plot ( z ) hoμnh lμ tËp c¸c sè thùc vμ trôc tung lμ tËp c¸c sè ¶o. VÏ ra theo c¸c cét cña A theo chØ sè t−¬ng øng x¸c plot ( A) ®Þnh bëi tù ch−¬ng tr×nh. VÏ ra theo c¸c cét cña A theo chØ sè t−¬ng øng x¸c plot ( x,A ) ®Þnh bëi vector x. VÏ x theo A. NÕu A lμ ma trËn m hμng n cét, vector x plot ( A,x ) cã thÓ theo chØ sè t−¬ng øng trªn m hoÆc n nÕu chiÒu dμi cña x = m hay b»ng n. Vector x cã thÓ lμ ma trËn hμng hay cét. VÏ c¸c cét cña A theo c¸c cét cña B. NÕu A vμ B lμ 2 plot ( A,B ) ma trËn cã cïng ®é lín mxn th× chóng ta sÏ thu ®−îc m ®å thÞ n ®iÓm . VÏ hμm cã c¸c biÕn sè x¸c ®Þnh nh− trªn vμ c¸c chØ sè plot ( ..., str ) vÒ mÇu s¾c vμ kiÓu ®−êng theo biÕn str VÏ hμm vector y1, y2, ..., yn theo vector x1, x2, ..., xn plot( x1, y1, str1, ( y trôc tung cña hÖ, x trôc hoμnh ). §å thÞ thu ®−îc sÏ lÊy x2, y2, str2, ... ) gi¸ trÞ vÒ mÇu s¾c vμ kiÓu ®−êng t−¬ng øng trong str1, str2, ..., str n C¸c gi¸ trÞ cña biÕn str trong hμm Plot vÇ mÇu s¾c hay kiÓu d¸ng cña ®−êng ®−îc liÖt kª theo b¶ng d−íi ®©y. KiÓu ®−êng KiÓu ®−êng MÇu s¾c MÇu s¾c PhÇn 1 - C¬ së 61
- Ch−¬ng 4 - §å ho¹ hai chiÒu . ®iÓm - ®−êng liÒn nÐt Y vμng C xanh l¸ m¹ * sao -- ®−êng ®øt nÐt G xanh l¸ c©y W tr¾ng X ch÷ c¸i x -. ®−êng chÊm g¹ch M ®á t−¬i R ®á O ch÷ c¸i o : ®−êng chÊm B xanh lam K ®en + dÊu céng KiÓu ®−êng th¼ng cã thÓ lμ tæ hîp cña 2 hay nhiÒu yÕu tè. VÝ dô 'y- -' lμ ký hiÖu cho ®−êng vμng liÒn nÐt hay ' b+' lμ ®−êng xanh c¸c dÊu céng. §é réng cña ®−êng hay kÝch th−íc c¸c ký hiÖu cã thÓ thay ®æi tuú ý. C¸c trôc to¹ ®é sÏ tù ®éng thay ®æi phï hîp víi ®¬n vÞ cña ®å thÞ nÕu kh«ng cã sù t¸c ®éng nμo kh¸c cña ng−êi sö dông. VÝ dô: Vμo d÷ liÖu cho c¸c biÕn sè x,y >> x = [ -4 -2 0 1 3 7 ] >> y = [ 15 4 0 1 9 20 ] >> plot( x,y,’w’); hold on >> plot( x,y/2 ); 20 15 10 5 H×nh 4.10 §å thÞ hμm y vμ y/2 theo x b. §å thÞ hμm sin(x) vμ x/2 + 1/2 >>x = 0 : 0 1 : 2; PhÇn 1 - C¬ së 62
- Ch−¬ng 4 - §å ho¹ hai chiÒu >>A = [sin (pi*x); 0.5 + 0.5*x]; >>plot (x,A) * Trôc cña ®å thÞ xoay khi ta giao ho¸n vÞ trÝ cua A vμ A >>x = 0 : 0 1 : 2; >>A = [sin (pi*x); 0.5 + 0.5*x]; >>plot (A,x) 2 1.5 1 1.5 0.5 1 0 0.5 -0.5 0 -1 -1 -0.5 0 0.5 1 1.5 0 0.5 1 1.5 2 H×nh 4.11 §å thÞ cña ma trËn A trªn trôc x vμ x trªn A c) Hμm y = sin(x). cos(x) víi c¸c ®iÓm lμ c¸c vßng trßn nhá >> x = - pi0 : 0.05 : pi; >> A = sin(x).*cos(x) ; >> plot( x,A ); 0.5 0 H×nh 4.12 PhÇn 1 - C¬ së 63
- Ch−¬ng 4 - §å ho¹ hai chiÒu d) Hμm plot víi tham sè phøc. 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2 -1 0 1 2 H×nh 4.13 Sè phøc ®−îc biÓu diÔn d−íi d¹ng xo¾n èc. >> R = linespace (0,2); % t¹o vector >> tt = linespace (0,10*pi); % t¹o vector cña gãc >> [x,y] = plot2cart(tt,r); % chuyÓn to¹ ®é >> z = x + i*y ; %t¹o vector sè phøc >> plot(z) ; % in ra mμn ®å ho¹ e) T¹o mét file *.m thùc hiÖn chuçi lÖnh sau n = input ( ‘ Sè ®iÓm n = ‘); a = input (‘ Kho¶ng x¸c ®Þnh trªn a = ‘); b = input (‘ Kho¶ng x¸c ®Þnh d−íi b = ‘); y = [ ]; e1 = [ ]; e2 = [ ]; e3 = [ ]; e4 = [ ]; % xo¸ e1 - e4 for i = 1 : n xx = a + ( b - a ) * (i - 1) / (n - 1); x(i) = xx; e1(i) = exp( -(xx^2) ); e2(i) = xx^2 * exp ( -(xx^2) ); e3(i) = xx*exp ( -(xx^2) ); e4(i) = exp (-xx); end Script file trªn sau khi thùc hiÖn víi tham sè: Sè ®iÓm n = 50 PhÇn 1 - C¬ së 64
- Ch−¬ng 4 - §å ho¹ hai chiÒu Kho¶ng x¸c ®Þnh trªn a = 0 Kho¶ng x¸c ®Þnh d−íi b = 5 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 H×nh 4.14 a §å thÞ cña c¸c hμm lÊy tõ vÝ dô trªn plot(x,e1,'w',x,e2,'w',x,e3,'w',x,e4,'w') C¸c lÖnh trªn t−¬ng ®−¬ng víi chuçi c¸c lÖnh d−íi ®©y. Tuy nhiªn víi c¸c bé lÖnh d−íi cho phÐp chóng ta dÔ dμng trong khi ®äc còng nh− vμo d÷ liÖu. >> x = linespace (a,b,u) >> e1 = exp (-x^2); >> e2 = (X^2) * exp (-x ^ 2); >> e3 = x . * exp (-x^2); >> e4 = exp (-x) víi u = 50 a=0 b = 30 >> plot (x, e1, 't', x, e2, 't', x, e3, x, 't', x, e3, '0', x, eu, 'x') PhÇn 1 - C¬ së 65
- Ch−¬ng 4 - §å ho¹ hai chiÒu 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 b. VÏ ®å thÞ cïng víi kho¶ng sai sè. VÏ vector y theo x cïng víi c¸c thanh sai sè cã ®é Errorbar (x, y, e, str) dμi ei trªn d−íi yi. VÏ ®å thÞ vector y theo x víi ei vμ u lμ ®o¹n sai sè Errorbar (x, y, l, u) cña yi t−¬ng øng víi phÇn d−íi vμ trªn. VÝ dô: T¹o ®å thÞ cã kho¶ng sai sè lμ 15% >> x = linspace (0, 10, 50); >> y = exp (sin (x)); >> delta = 0.15 *y; >> errorbar ( x, y, delta) 3.5 3 2.5 2 1.5 H×nh 4.15 §å thÞ cïng ®−êng sai sè 15% PhÇn 1 - C¬ së 66
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn