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

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

28 429 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 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 2.Đá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 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ó 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 Ngoài toá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 đ t o 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 đ u x = ones(2, 3) x= 1 1 1 y = 5*ones(2, 2) y= 5 5 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 rand eye(n) t o ma tr n đ n v eye(3) ans = 0 0 eye(m,n) t o ma tr n đ n v m rông eye(3,4) ans = 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 o m 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 đ u t đ n ph n t th cách r i s p x p l i ma tr n 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 u ki n if, else, elseif: Cú pháp c a if: if end N u cho k t qu ph n l nh thân c a if đ c th c hi n Các phát bi u else leseif t ng t Ví d : Ta xét ch ng trình ct1_2 m đ đoá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 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 m ch th p hình vng 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 u ta dùng l nh hold Khi ta đánh l nh hold on MATLAB khơng xố đ th 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 m s li u: Đ v 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 m ta g i hàm plot ch v i đ c t màu 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 m đ ng: Đ v c m đánh d u đ ng n i gi a c n mô t ki u đ ng ki u 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 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ó đ dài plot3 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) 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 đ 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 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 11 Đ 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 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 ... file: M file m t file text ch a mã c a MATLAB Đ t o m 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... 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)... 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:1 0 m t vec t hàng ch a 10 s nguyên t đ n 10 ans = 10 100: 7:50 t o m t

Ngày đăng: 12/12/2013, 15: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 doc
du sa os hình vuông (Trang 15)

TỪ KHÓA LIÊN QUAN

w