1. Trang chủ
  2. » Giáo án - Bài giảng

TÀI LIỆU MATLAB CĂN BẢN

28 167 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 1.KhiđngMATLAB:MATLAB(Matrixlaboratory)làphnmmdùngđ giimtlotcácbàitoánkĩthut,đcbitlàcácbàitoánliênquanđnma trn. MATLAB cung cp các toolboxes,  tc các hàm m rng môi trng MATLABđgiiquytcácvnđđcbitnhxlítínhius,hthngđiu khin,mngneuron,fuzzylogic,môphngv.v. ĐkhiđngMATLABta nhnđúpvàoiconcanótrênmànhình.  2.Đánhlnhtrongcaslnh:Khitađánhlnhvàocaslnh,nósđc thihànhngayvàktquhinlênmànhình.Nu takhôngmunchoktqu hinlênmànhìnhthìsaulnhtađtthêmdu“;”.Nulnhquádài,không vamtdòngdòngcóthđánhlnhtrênnhiudòngvà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các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 xoádòng delCtrlD xoákíttichconnháyđng  backspace CtrlH xoákíttrcchconnháyđng  3.Setpath:KhichycácchngtrìnhMATLABcác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   4. Help và Demo: Phn nay giúp chúng ta hiu bit các hàm, các lnh ca MATLABvàchythcácchngtrìnhdemo  §2.CÁCMATRN 1.Cáctoán t:MATLABkhôngđòihiphi khai báobintrckhi dùng. MATLABphânbitchhoavàchthng. 1 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2 52 realmin sthcnhnht2 1022 realmax sthclnnht2 1023 infvôcùngln NaN Notanumber  2.Cácmatrn:  a.Nhpmatrn:Matrnlàmtmngcácsliucómhàngvànct. Trnghpmatrnch cómtphnt(matrn11)tacómts.Matrnch cómtctđcgilà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cácphnttbànphím •npmatrntfilesliu •tomatrnnhcáchàmcósntrong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cácquyđnhsau:  •ngăncáchcác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cácphntcamatrnbngcpdungocvuông[] Víd:Tanhpmtmatrn A=[163213;510118;96712; 415141] Bâygitađánhlnh: 2 sum(A) ans= 34343434 nghĩalànóđãlytngcácctvìMATLABđcvitđlàvicvicácct.Khi takhôngchbinchaktquthìMATLABdùngbinmc đnhlàans,vit ttcaanswer.  Munlytngcacáchàngtacnchuynvmatrnbngcáchđánh vàolnh: A’ ans=    16594    310615     211714    138121 vàđâylàchuynvcamatrnA.  Matrna=[]là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là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nàythngdùngđthamchiuvecthànghayct.Trongtrng hp matrnđyđthìnóđcxemlàmatrnmtctdàitotcácctcama trnbanđu.NhvyvitA(8)cónghĩalàthamchiuphntA(4,2).  c.Toánt“:”:Toánt“:”làmttoántquantrngcaMATLAB.Nó xuthinnhiudngkhácnhau.Biuthc  1:10 làmtvecthàngcha10snguyênt1đn 10 ans=   12345678910  100:7:50 tomtdãyst100đn51,gim7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0đnpi,cáchđunhaupi/4 ans=  0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)là 3 thamchiuđnkphntđutiêncactj. Ngoàiratoánt“:”thamchiutittccácphntcamthànghaymt ct. A(:,3) ans= 2 11 7 14 và  A(3,:) ans= 96712 Vit B=A(:,[1324]) tatođcmatrnBtmatrnAbngcáchđithtcácctt[1234] thành[1 324] B= 162313 511108 97612 414151    d.Tomatrnbnghàmcósn:MATLABcungcpmtshàmđto cácmatr ncbn:  zeros toramatrnmàcácphntđulàzeros z=zeros(2,4) z= 0000     0000   ones toramatrnmàcácphntđulà1 x =ones(2,3) x= 111    111  y=5*ones(2,2) y= 4 55     55  rand toramatrnmàcác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 ramatrnmàcác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ramatrncpngmcácsnguyênt1đ nn 2 vitngcác hàngbngtngcácct.nphilnhnhaybng3. pascal(n)toramatrnxácđnhdngmàcácphntlyttamgiác Pascal. pascal(4) ans= 11 11   1234   13610   141020  eye(n)tomatrnđnv eye(3) ans=   100   010   001   eye(m,n)tomatrnđnvmrông eye(3,4)  ans = 5   1000   0100   001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vànpvào.Ví dcófilemtran.datchamtmatrnthì tanpmatrnnày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chúý: - filechama trnlàmtbnghìnhchnht - mihàngvittrênmtdòng - sphntcáchàngphibngnhau - cácphntphicáchnhaubngdutrng  f.Mfile: MfilelàmtfiletextchacácmãcaMATLAB.Đtomt ma trn ta vit mt mfile và cho MATLABđc file này. Ví d ta to file ct1_1.mnhsau  A=[ 1 23 2  34 3 45] và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)các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11   111 b=5*ones(3,3) b=  555   555   555 c=[a+2;b] c=  333   333 6   333   555   555   555  h.Xoáhàngvàct:Tacóthxoáhàngvàcttmatrnbngdùngdu []. Víd: b=  555   555    555 Đxoáctth2tavit:  b(:,2)=[] b=  55   55   55 Vitx(1:2:5)=[]nghĩalàtaxoácácphntbtđutđnphn tth5và cách2rispxplimatrn.  3.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 cácphnttngngvinhau  Chia:X=A/BlúcđóX*B=A   :X=A\BlúcđóA*X=B   :X=A./Bchiacácphnttngngvinhau  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 1.Cácphátbiuđiukinif,else,elseif: Cúphápcaif:  if<biuthcđi ukin> 7 <phátbiu>  end Nu<biuthcđiukin>choktquđúngthìphnlnhtrongthâncaif đcthchin.  Cácphátbiuelsevàleseifcũng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trongkhoang0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  2.switch:Cúphápcaswitchnhsau:  switch<biuthc> casen1:<lnh1> casen2 :<lnh2> ............... casenn:<lnhn> otherwise:<lnhn+1>  end  3.While:vònglpwhiledùngkhikhôngbittrcslnl p.Cúphápcanó nhsau:  while<biuthc> <phátbiu>  end Víd:Xétchngtrìnhinra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; 8 whilei~=gu disp([Xinchaoi]); i=i+1 end  4.For:vònglpfordùngkhibittrcslnlp.Cúphápnhsau:  for<chs>=<giátrđu>:<mctăng>:<giá trcui> Víd:Xâydngchngtrìnhđoá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trongkhoang0 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>0 disp(Bankhongdoanraroi); numx=int2str(x); disp([Dolaso:,numx]); end  5.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.   9 §4.CÁCFILEVÀHÀM 1.Scriptfile:KchbnlàMfileđnginnht,khôngcóđis.Nórtcóích khi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racácsFibonnaci.  f=[11];  i=1;  while(f(i)+f(i+1))<1000   f(i+2)=f(i)+f(i+1);   i=i+1;  end  plot(f)  Taluđonmãlnhnàyvàomtfiletênlà ct1_5.m.Đâychínhlàmt scriptfile.Đthchincácmãchatrongfilect1_5.mtcaslnhtanhp ct1_5vànhnenter.  2.Filehàm:HàmlàMfilecóchacácđis.Tacó mtvídvhàm:  functiony=tb(x)  %Tinhtritrungbinhcuacacphantu [m,n]=size(x); ifm==1    m=n; end y=sum(x)/m; TvídtrêntathymthàmM filegmcácphncbnsau:  • Mt dòngđnh nghĩa hàm gm: function y = tb(x) gm t khoá function,đistrvy,tênhàmtbvàđisvàox.  •Mtdòngh1làdòngtrgiúpđutiên.Vìđâylàdòngvănbnnênnó phiđtsau%.Nóxuthintanhplnhlookfor<tênhàm>  •Phnvănbntrgiúpđgiúpngidùnghiutácdngcahàm.  •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chúýlàtênhàmphibtđubngkítvàcùngtênvifilechahàm. TcasMATLAB tađánhlnh:  z=1:99;  tb(z) Ghichú:tênhàmlàtbthìtênfilecũnglà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 . CHNG1: MATLAB CBN  §1.KHIĐNG MATLAB 1.Khiđng MATLAB: MATLAB (Matrixlaboratory)làphnmmdùngđ giimtlotcácbàitoánkĩthut,đcbitlàcácbàitoánliênquanđnma trn.. f.Mfile: Mfilelàmtfiletextchacácmãca MATLAB. Đtomt ma trn ta vit mt mfile và cho MATLAB đc file này. Ví d ta to file ct1_1.mnhsau  A=[ 1 23 2  34 3 45] vànpvào MATLAB bngcáchđánhlnh: . xoákíttrcchconnháyđng  3.Setpath:Khichycácchngtrình MATLAB các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   4. Help và Demo: Phn nay giúp chúng ta hiu bit các hàm, các lnh ca MATLAB vàchythcácchngtrìnhdemo  §2.CÁCMATRN 1.Cáctoán

Ngày đăng: 11/04/2015, 10:52

TỪ KHÓA LIÊN QUAN

w