1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Chương 1: Matlab cơ bản docx

28 505 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 546,9 KB

Nội dung

CH NG 1: MATLAB C B N §1 KH I NG MATLAB Kh i ng MATLAB: MATLAB (Matrix laboratory) ph n m m dùng gi i m t lo t toán k thu t, c bi t toán liên quan n ma tr n MATLAB cung c p toolboxes, t c hàm m r ng môi tr ng MATLAB gi i quy t v n c bi t nh x lí tín hi u s , h th ng i u n, m ng neuron, fuzzy logic, mô ph ng v.v kh i ng MATLAB ta nh n úp vào icon c a hình ánh l nh c a s l nh : Khi ta ánh l nh vào c a s l nh, s c thi hành k t qu hi n lên hình N u ta khơng mu n cho k t qu hi n lên hình sau l nh ta t thêm d u “;” N u l nh dài, không v a m t dịng dịng có th ánh l nh nhi u dòng cu i m i dòng t thêm d u r i xu ng dòng Khi so n th o l nh ta có th dùng phím t t : Ctrl P g i l i l nh tr c ó Ctrl N g i l nh sau Ctrl B lùi l i m t kí t Ctrl F ti n lên m t kí t Ctrl Ctrl R sang ph i m t t Ctrl Crtl L sang ph i m t t home Ctrl A v u dòng end Ctrl E v cu i dịng esc Ctrl U xố dịng del Ctrl D xố kí t t i ch nháy ng backspace Ctrl H xố kí t tr c ch nháy ng Set path: Khi ch y ch ng trình MATLAB th m c khác th m c hi n hi n hành ta ph i i th m c b ng l nh File | Set Path Help Demo: Ph n giúp hi u bi t hàm, l nh c a MATLAB ch y th ch ng trình demo §2 CÁC MA TR N Các tốn t : MATLAB khơng ịi h i ph i khai báo bi n tr MATLAB phân bi t ch hoa ch th ng c dùng Các phép toán : + , , * , / , \ (chia trái) , ^ (m ) , ‘ (chuy n v hay s ph c liên hi p) x = 2+3 a=5 b=2 a/b a\b Các toán t quan h : < , , >= , == , ~= Các toán t logic : & , | (or) , ~ (not) Các h ng : pi 3.14159265 i s o j t ng t i eps sai s 52 realmin s th c nh nh t 1022 realmax s th c l n nh t 21023 inf vô l n NaN Not a number Các ma tr n: a Nh p ma tr n: Ma tr n m t m ng s li u có m hàng n c t Tr ng h p ma tr n ch có m t ph n t (ma tr n 1) ta có m t s Ma tr n ch có m t c t c g i m t vect Ta có th nh p ma tr n vào MATLAB b ng nhi u cách: nh p m t danh sách ph n t t bàn phím n p ma tr n t file s li u t o ma tr n nh hàm có s n MATLAB t o ma tr n nh hàm t t o Khi nh p ma tr n t bàn phím ta ph i tuân theo quy nh sau : ng n cách ph n t c a ma tr n b ng d u “,” hay d u tr ng dùng d u “;” k t thúc m t hàng bao ph n t c a ma tr n b ng c p d u ngo c vng [ ] Ví d : Ta nh p m t ma tr n A = [ 16 13 ; 10 11 ; 12 ; 15 14 1] Bây gi ta ánh l nh: sum(A) ans = 34 34 34 34 ngh a ã l y t ng c t MATLAB c vi t vi c v i c t Khi ta không ch bi n ch a k t qu MATLAB dùng bi n m c nh ans, vi t t t c a answer Mu n l y t ng c a hàng ta c n chuy n v ma tr n b ng cách ánh vào l nh: A’ ans = 16 10 15 11 14 13 12 ây chuy n v c a ma tr n A Ma tr n a = [] ma tr n r ng b Ch s : Ph n t hàng i c t j c a ma tr n có kí hi u A(i,j) Tuy nhiên ta c ng có th tham chi u t i ph n t c a m ng nh m t ch s , ví d A(k) Cách th ng dùng tham chi u vec t hàng hay c t Trong tr ng h p ma tr n y c xem ma tr n m t c t dài t o t c t c a ma tr n ban u Nh v y vi t A(8) có ngh a tham chi u ph n t A(4, 2) c Toán t “:” : Toán t “:” m t toán t quan tr ng c a MATLAB Nó xu t hi n nhi u d ng khác Bi u th c 1:10 m t vec t hàng ch a 10 s nguyên t n 10 ans = 10 100: 7:50 t o m t dãy s t 100 n 51, gi m m i l n ans = 100 93 86 79 72 65 58 51 0: pi/4: pi t o m t dãy s t n pi, cách u pi/4 ans = 0.7854 1.5708 2.3562 3.1416 Các bi u th c ch s tham chi u t i m t ph n c a ma tr n Vi t A(1:k,j) tham chi u n k ph n t u tiên c a c t j Ngồi tốn t “:” tham chi u t i t t c ph n t c a m t hàng hay m t c t A(:,3) ans = 11 14 A(3, :) ans = 12 Vi t B = A(:, [1 4]) ta t o c ma tr n B t ma tr n A b ng cách i th t c t t [1 4] thành [ ] B= 16 13 11 10 12 14 15 d T o ma tr n b ng hàm có s n: MATLAB cung c p m t s hàm ma tr n c b n: zeros t o ma tr n mà ph n t u zeros z = zeros(2, 4) z= 0 0 0 0 ones t o ma tr n mà ph n t x = ones(2, 3) x= 1 1 1 t o u y = 5*ones(2, 2) y= 5 5 rand t o ma tr n mà ph n t ng u nhiên phân b u d = rand(4, 4) d= 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 randn t o ma tr n mà ph n t ng u nhiên phân b tr c giao e = randn(3, 3) e= 0.4326 0.2877 1.1892 1.6656 1.1465 0.0376 0.1253 1.1909 0.3273 magic(n) t o ma tr n c p n g m s nguyên t n n2 v i t ng hàng b ng t ng c t.n ph i l n h n hay b ng pascal(n) t o ma tr n xác nh d ng mà ph n t l y t tam giác Pascal pascal(4) ans = 1 1 10 10 20 eye(n) t o ma tr n eye(3) ans = 0 0 eye(m,n) t o ma tr n eye(3,4) ans = nv n v m rông 0 0 0 0 e L nh load: L nh load dùng c m t file d li u Vì v y ta có th t o m t file ch a ma tr n n p vào Ví d có file mtran.dat ch a m t ma tr n ta n p ma tr n nh sau: load mtran.dat Khi dùng m t trình so n th o v n b n t o ma tr n c n ý : - file ch a ma tr n m t b ng hình ch nh t - m i hàng vi t m t dòng - s ph n t hàng ph i b ng - ph n t ph i cách b ng d u tr ng f M file: M file m t file text ch a mã c a MATLAB t om t ma tr n ta vi t m t m file cho MATLAB c file Ví d ta t o file ct1_1.m nh sau A=[ 3 4 ] n p vào MATLAB b ng cách ánh l nh: ct1_1 g L p ghép: Ta có th l p ghép (concatenation) ma tr n có s n thành m t ma tr n m i Ví d : a = ones(3, 3) a= 1 1 1 1 b = 5*ones(3, 3) b= 5 5 5 5 c = [a+2; b] c= 3 3 3 3 5 5 5 5 h Xoá hàng c t: Ta có th xố hàng c t t ma tr n b ng dùng d u [] Ví d : b= 5 5 5 5 xoá c t th ta vi t: b(:, 2) = [] b= 5 5 5 Vi t x(1:2:5) = [] ngh a ta xoá ph n t b t cách r i s p x p l i ma tr n ut n ph n t th Các l nh x lí ma tr n: C ng : X= A + B Tr : X= A B Nhân : X= A * B : X.*A nhân ph n t t ng ng v i Chia : X = A/B lúc ó X*B = A : X = A\B lúc ó A*X = B : X=A./B chia ph n t t ng ng v i Lu th a : X = A^2 : X = A.^2 Ngh ch o : X = inv(A) nh th c : d = det(A) §3 L P TRÌNH TRONG MATLAB Các phát bi u i u ki n if, else, elseif: Cú pháp c a if: if end N u cho k t qu úng ph n l nh thân c a if c th c hi n Các phát bi u else leseif c ng t ng t Ví d : Ta xét ch ng trình ct1_2 m ốn tu i nh sau: disp(‘Xin chao! Han hanh duoc lam quen’); x = fix(30*rand); disp(‘Tuoi toi khoang 30’); gu = input(‘Xin nhap tuoi cua ban: ‘); if gu < x disp(‘Ban tre hon toi’); elseif gu > x disp(‘Ban lon hon toi’); else disp(‘Ban bang tuoi toi’); end switch: Cú pháp c a switch nh sau : switch case n1 : case n2 : case nn : otherwise : end While: vịng l p while dùng khơng bi t tr c s l n l p Cú pháp c a nh sau : while end Ví d : Xét ch ng trình in chuoi “Xin chao” lên mà hình v i s l n nh p t bàn phím (ct1_3.m) nh sau: disp( xin chao ); gu = input( Nhap so lan in: ); i = 0; while i~=gu disp([ Xin chao i]); i = i+1 end For: vòng l p for dùng bi t tr c s l n l p Cú pháp nh sau : for = : : Ví d : Xây d ng ch ng trình ốn s (ct1_4.m) x = fix(100*rand); n = 7; t = 1; for k = 1:7 num = int2str(n); disp([ Ban co quyen du doan ,num, lan ]); disp( So can doan nam khoang 100 ); gu = input( Nhap so ma ban doan: ); if gu < x disp( Ban doan nho hon ); elseif gu>x disp( So ban doan lon hon ); else disp( Ban da doan dung.Xin chuc mung ); t = 0; break; end n = n 1; end if t > disp( Ban khong doan roi ); numx = int2str(x); disp([ Do la so: ,numx]); end Break: phát bi u break k t thúc vịng l p for hay while mà khơng quan tâm n i u ki n k t thúc vòng l p ã tho mãn hay ch a §4 CÁC FILE VÀ HÀM Script file: K ch b n M file n gi n nh t, khơng có i s Nó r t có ích thi hành m t lo t l nh MATLAB theo m t trình t nh t nh Ta xét ví d hàm fibno t o s Fibonnaci f = [1 1]; i = 1; while(f(i)+f(i+1)) tam giác sang ph i h p ng giác Ki u ánh d u i m ch th p hình vng i m tam giác h ng xu ng tam giác sang trái l c giác 15 Ví d (l u ct1_9.m): x = pi : pi/10 : pi; y = tan(sin(x)) sin(tan(x)); plot(x,y, rs’, LineWidth ,2, MarkerEdgeColor , k , MarkerFaceColor , g , MarkerSize ,10) s v ng cong y = f(x) có c t sau : ng v ng t nét( ) kh i ánh d u hình vng (s), ng v màu (r) ng v r ng point c nh c a kh i ánh màu en kh i ánh d u màu green kích th c kh i ánh d u 10 point Thêm ng v vào th ã có: làm i u ta dùng l nh hold Khi ta ánh l nh hold on MATLAB khơng xố th ang có Nó thêm s li u vào th m i N u ph m vi giá tr c a th m i v t giá tr c a tr c to c s nh l i t l xích Ch v i m s li u: v i m ánh d u mà không n i chúng l i v i ta dùng c t nói r ng khơng có ng n i gi a i m ta g i hàm plot ch v i c t màu i m ánh d u Ví d : x = pi : pi/10 : pi; y = tan(sin(x)) sin(tan(x)); plot(x,y, s , MarkerEdgeColor , k ) (l u ct1_10.m) V i m ng: v c i m ánh d u ng n i gi a c n mô t ki u ng ki u i m Ví d (l u ct1_11.m): x = 0:pi/15:4*pi; y = exp(2*sin(x)); plot(x,y, r ,x,y, ok ) v ng cong y = f(x) ng n i li n, màu i m ánh d u ch o có màu en V v i hai tr c y: L nh plotyy cho phép t o m t th có hai tr c y Ta c ng 16 có th dùng plotyy cho giá tr hai tr c y có ki u khác nh m ti n so sánh Ví d : t = 0:900; A = 1000; b = 0.005; a = 0.005; z2 = sin(b*t); z1 = A*exp( a*t); [haxes, hline1, hline2] = plotyy(t,z1,t,z2, semilogy , plot ); (l u ct1_12.m) V ng cong v i s li u D: N u x,y,z vec t có s v ng cong 3D Ví d : t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) axis square; grid on (l u ct1_13.m) dài plot3 10 t thông s cho tr c: Khi ta t o m t hình v , MATLAB t ng ch n gi i h n tr c to kho ng cách ánh d u d a s li u dùng v Tuy nhiên ta có th mơ t l i ph m vi giá tr tr c kho ng cách ánh d u theo ý riêng Ta có th dùng l nh sau: axis t l i giá tr tr c to axes t o m t tr c to m i v i c tính c mô t get set cho phép xác nh t thu c tính c a tr c to ang có gca tr v tr c to c a Gi i h n c a tr c chia v ch tr c: MATLAB ch n gi i h n tr c to kho ng cách ánh d u d a s li u dùng v Dùng l nh axis có th t l i gi i h n Cú pháp c a l nh: axis[ xmin , xmax , ymin , ymax] Ví d : x = 0:0.025:pi/2; plot(x,tan(x), ro ) 17 axis([0 pi/2 5]) (l u ct1_14.m) MATLAB chia v ch tr c d a ph m vi d li u chia u Ta có th mô t cách chia nh thông s xtick ytick b ng m t vec t t ng d n Ví d : x = pi:.1:pi; y = sin(x); plot(x,y) set(gca, xtick , pi:pi/2:p); set(gca, xticklabel ,{ pi , pi/2 , , pi/2 , pi }) (l u ct1_15.m) Ghi nhãn lên tr c to : MATLAB cung c p l nh ghi nhãn lên ho g m : title thêm nhãn vào ho xlabel thêm nhãn vào tr c x ylabel thêm nhãn vào tr c y zlabel thêm nhãn vào tr c z legend thêm gi i vào th text hi n th chu i v n b n v trí nh t nh gtext t v n b n lên ho nh chu t \bf bold font \it italics font \sl oblique font (ch nghiêng) \rm normal font Các kí t c bi t xem String properties Ta dùng l nh xlabel , ylabel , zlabel thêm nhãn vào tr c to Ví d : x = pi:.1:pi; y = sin(x); plot(x,y) xlabel( t = to 2\pi , Fontsize ,16) ylabel( sin(t) , Fontsize ,16) title( \it{Gia tri cua sin tu zero n pi} , Fontsize ,16) (l u ct1_16.m) Thêm v n b n vào ho : Ta có th thêm v n b n vào b t kì ch 18 hình v nh hàm text Ví d : text(3*pi/4,sin(3*pi/4), \leftarrowsin(t)=0.707 , FontSize ,12) 10 nh v v n b n hình v : Ta có th s d ng i t ng v n b n ghi tr c v trí b t kì MATLAB nh v v n b n theo n v d li u tr c Ví d v hàm y = Ae t v i A = 0.25 , t = n 900 = 0.005 ta vi t : Ví d (l u ct1_17.m) : t = 0:900; plot(t,0.25*exp( 0.005*t)) thêm ghi t i i m t = 300 ta vi t : text(300,.25*exp( 005*300), ’\bullet\leftarrow\fontname{times}0.25{\ite}^( 0.005{\itt}} at, {\itt}=300’, FontSize’,14) Tham s HorizontalAlignment VerticalAlignment nh v v n b n so v i to x, y, z ã cho ho c bi t: a Kh i vùng: ho kh i vùng bi u di n s li u vec t tr n MATLAB cung c p hàm ho kh i vùng : bar hi n th c t c a ma tr n m*n nh m nhóm, m có n bar barh hi n th c t c a ma tr n m*n nh m nhóm, m có n bar n m ngang bar3 hi n th c t c a ma tr n m*n nh m nhóm, m có n bar d ng 3D bar3h hi n th c t c a ma tr n m*n nh m nhóm, m có n bar d ng 3D n m ngang M c nh, m i ph n t c a ma tr n c bi u di n b ng m t bar Ví d : y = [5 5 5 8]; bar(y) (l u ct_18.m) Sau ó nh p l nh bar3(y) ta có th 3D 11 hay ma i nhóm i nhóm i nhóm i nhóm 19 b Mơ t d li u tr c: Ta dùng hàm xlabel ylabel mô t d li u tr c Ví d : nhdo = [29 23 27 25 20 23 23 27]; = 0:5:35; bar(ngay,nhdo) xlabel( ) ylabel( Nhiet (^{o}C) ) (l u ct1_19.m) M c nh,ph m vi giá tr c a tr c y t n 30 xem nhi t kho ng t 15 n 30 ta thay i ph m vi giá tr c a tr c y set(gca, YLim ,[15 30], Layer , top ) th , ph m vi giá tr c a tr c y ã thay i c X p ch ng th : Ta có th x p ch ng s li u th b ng cách t o m t tr c khác m t v trí nh v y ta có m t tr c y c l p v i b s li u khác Ví d : Kh o sát nh p sinh h c liên quan n m t trichloetylene(TCE) cho s li u: TCE = [515 420 370 250 135 120 60 20]; nhdo = [29 23 27 25 20 23 23 27]; = 0:5:35; bar(ngay,nhdo) xlabel( Ngay ) ylabel( Nhiet (^{o}C) ) x p ch ng m t s li u lên m t th trên, có tr c th v trí nh tr c th nh t ta vi t : h1 = gca; t o tr c th v trí tr c th nh t tr c nh t v b s li u th h2 = axes( Position ,get(h1, Position )); plot(days,TCE, LineWidth ,3) tr c th không gây tr ng i cho tr c th nh t ta vi t : set(h2, YAxisLocation , right , Color , none , XTickLabel ,[]) set(h2, XLim ,get(h1, XLim ), Layer , top ) ghi lên th ta vi t: text(11,380, Mat , Rotation , 55, FontSize ,16) ylabel( TCE Mat (PPM) ) title( Xep chong thi , FontSize ,16) 20 (l u ct1_20.m) d ho vùng: Hàm area hi n th ng cong t o t m t vec t hay t m t c t c a ma tr n Nó v giá tr c a m t c t c a ma tr n thành m t ng cong riêng tô y vùng không gian gi a ng cong tr c x Ví d (l u ct1_21.m): Y = [5 837 968 555 3]; area(Y) hi n th th có vùng, m i vùng m t c t cao c a m i th vùng t ng ph n t m t hàng M i ng cong sau s d ng ng cong tr c làm c s hi n th ng chia l i ta dùng l nh: set(gca, Layer , top ) set(gca, XTick ,1:5) grid on f th pie : th pie hi n th theo t l ph n tr m c a m t ph n t c a m t vec t hay m t ma tr n so v i t ng ph n t pie pie3 t o th 2D 3D Ví d (l u ct1_22.m): X = [19.3 22.1 51.6; 34.2 70.3 82.4; 61.4 82.9 90.8; 50.5 54.9 59.1; 29.4 36.3 47.0]; x = sum(X); explode = zeros(size(x)); [c,offset] = max(x); explode(offset) = 1; h = pie(x,explode) Khi t ng ph n t i s th nh t b ng hay l n h n 1, pie pie3 chu n hoá giá tr Nh v y cho vec t x, m i ph n có di n tích xi / sum( xi ) v i xi m t ph n t c a x Giá tr c chu n hố mơ t ph n ngun c a m i vùng Khi t ng ph n t i s th nh t nh h n 1, pie pie3 khơng chu n hố ph n t c a vec t x Chúng v m t ph n pie Ví d : 21 x = [.19 22 41]; pie(x) g Làm hình chuy n ng: Ta có th t o hình chuy n ng b ng cách t o l u nhi u hình khác l n l t hi n th chúng v xoá liên t c m t i t ng hình,m i l n v l i có s thay i V i cách th nh t ta th c hi n hình chuy n ng qua b c: dùng hàm moviein dành b nh cho m t ma tr n l n nh m l u khung hình dùng hàm getframes t o khung hình dùng hàm movie hi n th khung hình Sau ây ví d s d ng movie quan sát hàm fft(eye(n)).Ta t o hàm ct1_23.m nh sau : axis equal M = moviein(16,gcf); set(gca, NextPlot , replacechildren ) h = uicontrol( style , slider , position ,[100 10 500 20], Min ,1, Max ,16) for j = 1:16 plot(fft(eye(j + 16))) set(h, Value ,j) M(:,j) = getframe(gcf); end clf; axes( Position ,[0 1]); movie(M,30) B c u tiên t o hình nh chuy n ng kh i gán ma tr n Tuy nhiên tr c g i hàm moviein, ta c n t o tr c to có kích th c v i kích th c mà ta mu n hi n th hình Do ví d ta hi n th s li u cách u vòng tròn n v nên ta dùng l nh axis equal xác nh t l tr c Hàm moviein t o ma tr n l n ch a 16 khung hình Phát bi u : set(gca, NextPlot , replacechildren ) ng n hàm plot a t l tr c v axis normal m i c g i Hàm getframe không i s tr l i i m nh c a tr c hi n hành hình hi n có M i khung hình g m s li u m t vec t c t Hàm getframe(gcf) ch p toàn b ph n c a m t c a s hi n hành Sau t o hình nh ta có th ch y chúng m t s l n nh t nh ví d 30 l n nh hàm movie(M,30) 22 M t ph ng pháp n a t o hình chuy n ng v xố, ngh a v m t i t ng ho r i thay i v trí c a b ng cách thay i to x,y z m t l ng nh nh m t vòng l p Ta có th t o hi u ng khác nh cách xố hình khác Chúng g m: none MATLAB khơng xố i t ng di chuy n background MATLAB xoá i t ng b ng cách v có màu n n xor MATLAB ch xố i t ng Ví d : Ta t o M file có tên ct1_24.m nh sau : A = [ 8/3 0; 10 10; 28 ]; y = [35 10 7] ; h = 0.01; p = plot3(y(1),y(2),y(3), , EraseMode , none , MarkerSize ,5); % dat EraseMode ve none axis([0 50 25 25 25 25]) hold on for i = 1:4000 A(1,3) = y(2); A(3,1) = y(2); ydot = A*y; y = y + h*ydot; set(p, XData ,y(1), YData ,y(2), ZData ,y(3)) % thay doi toa drawnow i = i + 1; end ho 3D: a.Các l nh c b n: L nh mesh surf t o m t 3D t ma tr n s li u G i ma tr n s li u z mà m i ph n t c a z(i,j) xác nh tung c a m t mesh(z) t o m t l i có màu th hi n m t z surf(z) t o m t m t có màu z b th hàm hai bi n: B c th nh t th hi n hàm bi n z=f(x,y) t o ma tr n x y ch a to mi n xác nh c a hàm Hàm meshgrid s bi n i vùng xác nh b i vec t x y thành ma tr n x y Sau ó ta dùng ma tr n ánh giá hàm Ví d : Ta kh o sát hàm sin(r)/r tính hàm kho ng theo x y ta ch c n chuy n m t vec t i s cho meshgrid : 12 23 [x,y] = meshgrid( 8:.5:8); r = sqrt(x.^2 + y.^2) + 0.005; ma tr n r ch a kho ng cách t tâm c a ma tr n Ti p theo ta dùng hàm mesh v hàm z = sin(r)./r; mesh(z) (l u ct1_25.m) c th ng ng m c: Các hàm contour t o, hi n th ghi ng ng m c c a m t hay nhi u ma tr n Chúng g m: clabel t o nhãn s d ng ma tr n contour hi n th nhãn contour hi n th ng ng m c t o b i m t giá tr cho tr c c a ma tr n Z contour3 hi n th m t ng m c t o b i m t giá tr cho tr c c a ma tr n Z contourf hi n th th contour 2D tô màu vùng gi a ng contourc hàm c p th p tính ma tr n contour Hàm meshc hi n th contour l i surfc hi n th m t contour Ví d : [X,Y,Z] = peaks; contour(X,Y,Z,20) M i contour có m t giá tr g n v i Hàm clabel dùng giá tr hi n th nhãn ng ng m c 2D Ma tr n contour ch a giá tr clabel dùng cho ng contour 2D Ma tr n c xác nh b i contour,contour3 contourf Ví d : hi n th 10 ng ng m c c a hàm peak ta vi t : Z = peaks; [C,h] = contour(Z,10); clabel(C,h) title({ Cac contour co nhan , clabel(C,h) }) (l u ct1_26.m) Hàm contourf hi n th th ng ng m c m t m t ph ng tơ màu vùng cịn l i gi a ng ng m c ki m sốt màu tơ ta dùng hàm caxis Ví d (l u ct1_27.m): Z = peaks; [C,h] = contourf(Z,10); caxis([ 20 20]) title({ Contour co to mau , contourf(Z,10) }) 24 Các hàm contour(z,n) contour(z,v) cho phép ta ch rõ s l ng m c contour hay m t m c contour c n v ó v i z ma tr n s li u, n s ng contour v vec t m c contour MATLAB không phân bi t gi a i l ng vec t m t ph n t hay i l ng vô h ng Nh v y n u v vec t m t ph n t mô t m t contour n m t m c hàm contour s coi s l ng ng contour ch khơng ph i m c contour Nh v y,contour(z,v) c ng nh contour(z,n) hi n th m t ng ng m c ta c n cho v m t vec t có ph n t v i c hai ph n t b ng m c mong mu n.V í d t o m t ng ng m c 3D c a hàm peaks Ví d (l u ct1_28.m): xrange = 3:.125:3; yrange = xrange; [X,Y] = meshgrid(xrange,yrange); Z = peaks(X,Y); contour3(X,Y,Z) hi n th m t m c Z = 1, ta cho v [1 1] v = [1 1] contour3(X,Y,Z,v) Hàm ginput cho phép ta dùng chu t hay phím m i tên ch n i m v Nó tr v to c a v trí tr Ví d sau s minh ho dùng hàm ginput hàm spline t o ng cong n i suy hai bi n Ví d : Ta t o m t M file có tên ct1_29.m nh sau : disp( Chuot phai tro cac diem tren duong ve ) disp( Chuot trai tro diem cuoi cua duong ve ) axis([0 10 10]) hold on x = []; y =[]; n = 0; but = 1; while but = =1 [xi,yi,but] = ginput(1); plot(xi,yi, go ) n = n +1; x(n,1) = xi; y(n,1) = yi; end 25 t = 1:n; ts = 1:0.1:n; xs = spline(t,x,ts); ys = spline(t,y,ts); plot(xs,ys, c ); hold off 13 V vect : Có nhi u hàm MATLAB dùng hi n th vec t có h ng vec t v n t c Ta nh ngh a m t vec t bàng cách dùng m t hay i s Các i s mô t thành ph n x thành ph n y c a vec t N u ta dùng i s i s th nh t s mô t thành ph n x i s th mô t thành ph n y N u ta ch dùng m t i s MATLAB x lí nh m t s ph c, ph n th c thành ph n x ph n o thành ph n y Các hàm v vec t g m: compass v véc t b t u t g c to c a h to c c feather v vec t b t u t m t ng th ng quiver v vec t 2D có thành ph n (u, v) quiver3 v vec t 3D có thành ph n (u, v, w) a Hàm compass: Ta xét ví d v h ng t c gió Các vec t xác nh h ng (góc tính b ng ) t c gió (km/h) là: hg = [45 90 90 45 360 335 360 270 335 270 335 335]; td = [6 9 10 14 12]; Ta bi n i h ng gió thành radian tr c bi n i thành to vng góc hg1 = hg * pi/180; [x,y] = pol2cart(hg1,td); compass(x,y) t o ghi th : gc = { Huong gio suc gio tai san bay Da Nang ) text(–28,15,gc) (l u ct1_30.m) b Hàm feather: Hàm feather hi n th vec t b t u t m t ng 0 th ng song song v i tr c x Ví d t o vec t có góc t 90 n0 dài ta có: theta = 90:–10:0; r = ones(size(theta)); 26 tr c v , chuy n s li u sang to vng góc t ng l n thành r d nhìn(l u c1_31.m): [u,v] = pol2cart(theta*pi/180,r*10); feather(u,v) axis equal N u i s s ph c z feather coi ph n th c x ph n o y (l u ct1_32.m): t = 0:0.3:10; s = 0.05 + i; Z = exp(–s*t); feather(Z) c Hàm quiver: Hàm quiver hi n th vec t i m ã cho m t ph ng Các vec t c xác nh b ng thành ph n x y Ví d t o 10 contour c a hàm peaks ta vi t(l u ct1_33.m): n = –2.0:.2:2.0; [X,Y,Z] = peaks(n); contour(X,Y,Z,10) Bây gi dùng hàm gradient t o thành ph n c a vec t dùng làm i s cho quiver: [U,V] = gradient(Z,.2); t hold on thêm ng contour: hold on quiver(X,Y,U,V) hold off d Hàm quiver3: Hàm quiver3 hi n th vec t có thành ph n (u,v,w) t i i m (x, y, z) Ví d ta bi u di n qu oc am tv t c ném i theo t Ph ng trình c a chuy n ng là: at z( t) v t Tr c h t ta gán v n t c ban u gia t c a: v0 = 10; % Van toc ban dau a = –32; % gia toc Ti p theo tính z t i th i i m: t = 0:.1:1; z = vz*t + 1/2*a*t.^2; Tính v trí theo h ng x y: vx = 2; 27 x = vx*t; vy = 3; y = vy*t; Tính thành ph n c a vec t v n t c hi n th b ng dùng quiver3: u = gradient(x); v = gradient(y); w = gradient(z); scale = 0; quiver3(x,y,z,u,v,w,scale) axis square (l u ct1_34.m) 28 ... +1; x(n,1) = xi; y(n,1) = yi; end 25 t = 1:n; ts = 1:0 .1:n; xs = spline(t,x,ts); ys = spline(t,y,ts); plot(xs,ys, c ); hold off 13 V vect : Có nhi u hàm MATLAB dùng hi n th vec t có h ng vec t... Thân hàm ch a mã MATLAB Các l i gi i thích dùng cho ch ng trình sáng rõ Nó c t sau d u % C n ý tên hàm ph i b t u b ng kí t tên v i file ch a hàm T c a s MATLAB ta ánh l nh: z = 1:9 9; tb(z) Ghi... o hi u ng khác nh cách xố hình khác Chúng g m: none MATLAB khơng xố i t ng di chuy n background MATLAB xoá i t ng b ng cách v có màu n n xor MATLAB ch xố i t ng Ví d : Ta t o M file có tên ct1_24.m

Ngày đăng: 12/12/2013, 23:15

HÌNH ẢNH LIÊN QUAN

* du sa os hình vuông - Tài liệu Chương 1: Matlab cơ bản docx
du sa os hình vuông (Trang 15)

TỪ KHÓA LIÊN QUAN

w