Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
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
CHNG1:MATLABCBN §1.KHIĐNGMATLAB 1.KhiđngMATLAB:MATLAB(Matrixlaboratory)làphnmmdùngđ giimtlotcácbàitoánkĩthut,đcbitlàcácbàitoánliênquanđnma trn. MATLAB cung cp các toolboxes, tc các hàm m rng môi trng MATLABđgiiquytcácvnđđcbitnhxlítínhius,hthngđiu khin,mngneuron,fuzzylogic,môphngv.v. ĐkhiđngMATLABta nhnđúpvàoiconcanótrênmànhình. 2.Đánhlnhtrongcaslnh:Khitađánhlnhvàocaslnh,nósđc thihànhngayvàktquhinlênmànhình.Nu takhôngmunchoktqu hinlênmànhìnhthìsaulnhtađtthêmdu“;”.Nulnhquádài,không vamtdòngdòngcóthđánhlnhtrênnhiudòngvàcuimi dòngđt thêmdu rixungdòng.Khisontholnhtacóthdùngcácphímtt: ↑CtrlPgililnhtrcđó ↓CtrlN gilnhsau ←CtrlB lùilimtkít →CtrlFtinlênmtkít Ctrl→ CtrlR sangphimtt Ctrl← CrtlLsangphimtt home CtrlA vđudòng end CtrlEvcuidòng escCtrlU xoádòng delCtrlD xoákíttichconnháyđng backspace CtrlH xoákíttrcchconnháyđng 3.Setpath:KhichycácchngtrìnhMATLABcácthmckhácthmc hin hinhànhtaphiđithmcbnglnhFile|SetPath 4. Help và Demo: Phn nay giúp chúng ta hiu bit các hàm, các lnh ca MATLABvàchythcácchngtrìnhdemo §2.CÁCMATRN 1.Cáctoán t:MATLABkhôngđòihiphi khai báobintrckhi dùng. MATLABphânbitchhoavàchthng. 1 Cácphéptoán: +,,*,/,\(chiatrái),^(mũ),‘(chuynvhaysphcliênhip). x=2+3 a=5 b=2 a/b a\b Cáctoántquanh: < ,<=,>,>=,==,~= Cáctoántlogic: &,|(or),~(not) Cáchng: pi3.14159265 iso jtngti eps sais2 52 realmin sthcnhnht2 1022 realmax sthclnnht2 1023 infvôcùngln NaN Notanumber 2.Cácmatrn: a.Nhpmatrn:Matrnlàmtmngcácsliucómhàngvànct. Trnghpmatrnch cómtphnt(matrn11)tacómts.Matrnch cómtctđcgilàmtvect.TacóthnhpmatrnvàoMATLABbng nhiucách: •nhpmtdanhsáchcácphnttbànphím •npmatrntfilesliu •tomatrnnhcáchàmcósntrongMATLAB •tomatrnnhhàmtto Khinhpmatrntbànphímtaphituântheocácquyđnhsau: •ngăncáchcácphntcamatrnbngdu“,”haydutrng •dùngdu“;”đktthúcmthàng •baocácphntcamatrnbngcpdungocvuông[] Víd:Tanhpmtmatrn A=[163213;510118;96712; 415141] Bâygitađánhlnh: 2 sum(A) ans= 34343434 nghĩalànóđãlytngcácctvìMATLABđcvitđlàvicvicácct.Khi takhôngchbinchaktquthìMATLABdùngbinmc đnhlàans,vit ttcaanswer. Munlytngcacáchàngtacnchuynvmatrnbngcáchđánh vàolnh: A’ ans= 16594 310615 211714 138121 vàđâylàchuynvcamatrnA. Matrna=[]làmatrnrng b.Chs:Phnthàngictjcamatrn cókíhiulàA(i,j).Tuynhiên tacũngcóththamchiutiphntcamngnhmtchs,vídA(k). Cáchnàythngdùngđthamchiuvecthànghayct.Trongtrng hp matrnđyđthìnóđcxemlàmatrnmtctdàitotcácctcama trnbanđu.NhvyvitA(8)cónghĩalàthamchiuphntA(4,2). c.Toánt“:”:Toánt“:”làmttoántquantrngcaMATLAB.Nó xuthinnhiudngkhácnhau.Biuthc 1:10 làmtvecthàngcha10snguyênt1đn 10 ans= 12345678910 100:7:50 tomtdãyst100đn51,gim7miln ans= 10093867972655851 0:pi/4:pi tomt dãyst0đnpi,cáchđunhaupi/4 ans= 00.78541.57082.35623.1416 Cácbiuthcchsthamchiutimtphncamatrn.VitA(1:k,j)là 3 thamchiuđnkphntđutiêncactj. Ngoàiratoánt“:”thamchiutittccácphntcamthànghaymt ct. A(:,3) ans= 2 11 7 14 và A(3,:) ans= 96712 Vit B=A(:,[1324]) tatođcmatrnBtmatrnAbngcáchđithtcácctt[1234] thành[1 324] B= 162313 511108 97612 414151 d.Tomatrnbnghàmcósn:MATLABcungcpmtshàmđto cácmatr ncbn: zeros toramatrnmàcácphntđulàzeros z=zeros(2,4) z= 0000 0000 ones toramatrnmàcácphntđulà1 x =ones(2,3) x= 111 111 y=5*ones(2,2) y= 4 55 55 rand toramatrnmàcácphntngunhiênphânbđu d=rand(4,4) d= 0.95010.89130.82140.9218 0.23110.76210.44470.7382 0.60680.45650.61540.1763 0.48600.01850.79190.4057 randnto ramatrnmàcácphntngunhiênphânbtrcgiao e=randn(3,3) e= 0.43260.28771.1892 1.66561.14650.0376 0.12531.19090.3273 magic(n)toramatrncpngmcácsnguyênt1đ nn 2 vitngcác hàngbngtngcácct.nphilnhnhaybng3. pascal(n)toramatrnxácđnhdngmàcácphntlyttamgiác Pascal. pascal(4) ans= 11 11 1234 13610 141020 eye(n)tomatrnđnv eye(3) ans= 100 010 001 eye(m,n)tomatrnđnvmrông eye(3,4) ans = 5 1000 0100 0010 e.Lnhload:Lnhloaddùngđđcmtfiledliu.Vìvytacóthto mtfilechamatrnvànpvào.Ví dcófilemtran.datchamtmatrnthì tanpmatrnnàynhsau: loadmtran.dat Khidùngmttrìnhsonthovănbnđtomatrncnchúý: - filechama trnlàmtbnghìnhchnht - mihàngvittrênmtdòng - sphntcáchàngphibngnhau - cácphntphicáchnhaubngdutrng f.Mfile: MfilelàmtfiletextchacácmãcaMATLAB.Đtomt ma trn ta vit mt mfile và cho MATLABđc file này. Ví d ta to file ct1_1.mnhsau A=[ 1 23 2 34 3 45] vànpvàoMATLABbngcáchđánhlnh: ct1_1 g.Lpghép:Tacóthlpghép(concatenation)cácmatrncósnthành mtmatrnmi.Víd: a =ones(3,3) a= 111 111 111 b=5*ones(3,3) b= 555 555 555 c=[a+2;b] c= 333 333 6 333 555 555 555 h.Xoáhàngvàct:Tacóthxoáhàngvàcttmatrnbngdùngdu []. Víd: b= 555 555 555 Đxoáctth2tavit: b(:,2)=[] b= 55 55 55 Vitx(1:2:5)=[]nghĩalàtaxoácácphntbtđutđnphn tth5và cách2rispxplimatrn. 3.Cáclnhxlímatrn: Cng:X=A+B Tr:X=AB Nhân :X=A*B :X.*Anhân cácphnttngngvinhau Chia:X=A/BlúcđóX*B=A :X=A\BlúcđóA*X=B :X=A./Bchiacácphnttngngvinhau Lutha :X=A^2 :X=A.^2 Nghchđo :X=inv(A) Đnhthc :d=det(A) §3.LPTRÌNHTRONGMATLAB 1.Cácphátbiuđiukinif,else,elseif: Cúphápcaif: if<biuthcđi ukin> 7 <phátbiu> end Nu<biuthcđiukin>choktquđúngthìphnlnhtrongthâncaif đcthchin. Cácphátbiuelsevàleseifcũngtngt. Víd :Taxétchngtrìnhct1_2.mđđoántuinhsau: disp(‘Xinchao!Hanhanhduoclamquen’); x=fix(30*rand); disp(‘Tuoitoitrongkhoang030’); gu=input(‘Xinnhaptuoicuaban:‘); ifgu<x disp(‘ Bantrehontoi’); elseifgu>x disp(‘Banlonhontoi’); else disp(‘Banbangtuoitoi’); end 2.switch:Cúphápcaswitchnhsau: switch<biuthc> casen1:<lnh1> casen2 :<lnh2> ............... casenn:<lnhn> otherwise:<lnhn+1> end 3.While:vònglpwhiledùngkhikhôngbittrcslnl p.Cúphápcanó nhsau: while<biuthc> <phátbiu> end Víd:Xétchngtrìnhinrachuoi“Xinchao”lênmàhìnhvislnnhpt bànphím(ct1_3.m)nhsau: disp(xin chao); gu=input(Nhapsolanin:); i=0; 8 whilei~=gu disp([Xinchaoi]); i=i+1 end 4.For:vònglpfordùngkhibittrcslnlp.Cúphápnhsau: for<chs>=<giátrđu>:<mctăng>:<giá trcui> Víd:Xâydngchngtrìnhđoáns(ct1_4.m) x=fix(100*rand); n=7; t=1; fork=1:7 num=int2str(n); disp([Bancoquyendudoan,num,lan]); disp(Socandoannamtrongkhoang0 100); gu=input(Nhapsomabandoan:); ifgu<x disp(Bandoannhohon); elseifgu>x disp(Sobandoanlonhon); else disp(Bandadoandung.Xinchucmung); t=0; break; end n =n1; end ift>0 disp(Bankhongdoanraroi); numx=int2str(x); disp([Dolaso:,numx]); end 5.Break:phátbiubreakđktthúcvònglpforhaywhilemàkhôngquan tâmđnđiukin ktthúcvònglpđãthomãnhaycha. 9 §4.CÁCFILEVÀHÀM 1.Scriptfile:KchbnlàMfileđnginnht,khôngcóđis.Nórtcóích khithihànhmtlotlnhMATLABtheomttrìnhtnhtđnh.Taxét víd hàmfibnođtoracácsFibonnaci. f=[11]; i=1; while(f(i)+f(i+1))<1000 f(i+2)=f(i)+f(i+1); i=i+1; end plot(f) Taluđonmãlnhnàyvàomtfiletênlà ct1_5.m.Đâychínhlàmt scriptfile.Đthchincácmãchatrongfilect1_5.mtcaslnhtanhp ct1_5vànhnenter. 2.Filehàm:HàmlàMfilecóchacácđis.Tacó mtvídvhàm: functiony=tb(x) %Tinhtritrungbinhcuacacphantu [m,n]=size(x); ifm==1 m=n; end y=sum(x)/m; TvídtrêntathymthàmM filegmcácphncbnsau: • Mt dòngđnh nghĩa hàm gm: function y = tb(x) gm t khoá function,đistrvy,tênhàmtbvàđisvàox. •Mtdòngh1làdòngtrgiúpđutiên.Vìđâylàdòngvănbnnênnó phiđtsau%.Nóxuthintanhplnhlookfor<tênhàm> •Phnvănbntrgiúpđgiúpngidùnghiutácdngcahàm. •ThânhàmchamãMATLAB •Cácligiithíchdùngđchochngtrìnhsángrõ.Nóđcđtsau du%. Cnchúýlàtênhàmphibtđubngkítvàcùngtênvifilechahàm. TcasMATLAB tađánhlnh: z=1:99; tb(z) Ghichú:tênhàmlàtbthìtênfilecũnglàtb.m 10 [...]... trí c a nó b ng cách thay i to x,y và z m t l ng nh nh m t vòng l p Ta có th t o ra các hi u ng khác nhau nh các cách xoá hình khác nhau Chúng g m: none MATLAB không xoá i t ng khi nó di chuy n background MATLAB xoá i t ng b ng cách v nó có màu n n xor MATLAB ch xoá i t ng Ví d : Ta t o ra M file có tên là ct1_24.m nh sau : A = [ 8/3 0 0; 0 10 10; 0 28 1 ]; y = [35 10 7] ; h = 0.01; p = plot3(y(1),y(2),y(3),... ang có gca tr v tr c to c a Gi i h n c a tr c và chia v ch trên tr c: MATLAB ch n các gi i h n trên tr c to và kho ng cách ánh d u d a trên s li u dùng v Dùng l nh axis có th t l i gi i h n này 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 0 5]) (l u trong ct1_14.m) MATLAB chia v ch trên tr c d a trên ph m vi d li u và chia u Ta có th... spline(t,y,ts); plot(xs,ys, c ); hold off 13 V các vect : Có nhi u hàm MATLAB dùng hi n th các vec t có h ng và vec t v n t c Ta nh ngh a m t vec t bàng cách dùng m t hay 2 i s Các i s mô t thành ph n x và thành ph n y c a vec t N u ta dùng 2 i s thì i s th nh t s mô t thành ph n x và i s th ha mô t thành ph n y N u ta ch dùng m t i s thì MATLAB x lí nó nh m t s ph c, ph n th c là thành ph n x và ph n o... tr không c a hàm lân c n giá tr 0.2 ta vi t : f = inline( 1./((x 0.3).^2+0.01)+1./((x 0.9).^2+0.04) 6 ); a = fzero(f, 0.2) Zero found in the interval: [ 0.10949, 0.264] a= 0.1316 §5 HO 1 Các l nh v : MATLAB cung c p m t lo t hàm v bi u di n các vec t s li u c ng nh gi i thích và in các ng cong này plot h a 2 D v i s li u 2 tr c vô h ng và tuy n tính plot3 h a 3 D v i s li u 2 tr c vô h ng và tuy n... (s), ng v màu (r) ng v r ng 2 point các 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 5 Thêm ng v vào th ã có: làm i u này ta dùng l nh hold Khi ta ánh l nh hold on thì MATLAB không xoá th ang có Nó thêm s li u vào th m i này N u ph m vi giá tr c a th m i v t quá các giá tr c a tr c to c thì nó s nh l i t l xích 6 Ch v các i m s li u: v các i m ánh d u mà không n i chúng... N u x,y,z là 3 vec t có cùng 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 trong ct1_13.m) dài thì plot3 10 t các thông s cho tr c: Khi ta t o m t hình v , MATLAB t ng ch n các gi i h n trên tr c to và kho ng cách ánh d u d a trên s li u dùng v Tuy nhiên ta có th mô t l i ph m vi giá tr trên tr c và kho ng cách ánh d u theo ý riêng Ta có th dùng các l nh...Các bi n khai báo trong m t hàm c a MATLAB là bi n a ph ng Các hàm khác không nhìn th y và s d ng c bi n này Mu n các hàm khác dùng c bi n nào ó c a hàm ta c n khai báo nó là global Ví d ta c n gi i h ph ng trình : y1 y1 y1 y 2 y2 y2 y1y... 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 , 0 , pi/2 , pi }) (l u trong ct1_15.m) 8 Ghi nhãn lên các tr c to : MATLAB cung c p các 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 chú gi i vào th text hi n th chu i... kì ch nào trên 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 trên hình v : Ta có th s d ng i t ng v n b n ghi chú các tr c v trí b t kì MATLAB nh v v n b n theo n v d li u trên tr c Ví d v hàm y = Ae t v i A = 0.25 , t = 0 n 900 và = 0.005 ta vi t : Ví d (l u trong ct1_17.m) : t = 0:900; plot(t,0.25*exp( 0.005*t)) thêm ghi chú t i i m... 0.005{\itt}} at, {\itt}=300’, FontSize’,14) Tham s HorizontalAlignment và VerticalAlignment nh v v n b n so v i các to x, y, z ã cho ho c bi t: a Kh i và vùng: ho kh i và vùng bi u di n s li u là vec t tr n MATLAB cung c p các hàm ho kh i và vùng : bar hi n th các c t c a ma tr n m*n nh là m nhóm, m có n bar barh hi n th các c t c a ma tr n m*n nh là m nhóm, m có n bar n m ngang bar3 hi n th các c t c a ma . CHNG1: MATLAB CBN §1.KHIĐNG MATLAB 1.Khiđng MATLAB: MATLAB (Matrixlaboratory)làphnmmdùngđ giimtlotcácbàitoánkĩthut,đcbitlàcácbàitoánliênquanđnma trn.. f.Mfile: Mfilelàmtfiletextchacácmãca MATLAB. Đtomt ma trn ta vit mt mfile và cho MATLAB đc file này. Ví d ta to file ct1_1.mnhsau A=[ 1 23 2 34 3 45] vànpvào MATLAB bngcáchđánhlnh: . xoákíttrcchconnháyđng 3.Setpath:Khichycácchngtrình MATLAB cácthmckhácthmc hin hinhànhtaphiđithmcbnglnhFile|SetPath 4. Help và Demo: Phn nay giúp chúng ta hiu bit các hàm, các lnh ca MATLAB vàchythcácchngtrìnhdemo §2.CÁCMATRN 1.Cáctoán