Tài liệu Tự học Matlab - Chương 1: Cơ sở Matlab
Matlab lμ một hệ thống tương giao,các phần tử dữ liệu lμ một mảng( mảng nμy
không đòi hỏi về kích thước ). Chúng cho phép giải quyết các vấn đề liên quan đến lập
trình bằng máy tính,đặc biệt sử dụng các phép tính về ma trận hay véc tor vμ có thể sử
dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu
lệnh goị từ MATLAB .MATLAB được viết tắt từ chữ matrix laboratory tức lμ
thư viện về ma trận, từ đó phần mềm MATLAB được viết nhằm cung cấp cho việc truy
cập vμo phần mềm ma trận một cáh dễ dμng, phần mềm ma trận nμy được phát triển bởi
các công trình Linpack vμ Eispack . Ngμy nay MATLAB được phát triển bởi
Lapack vμ Artpack tạo nên một nghệ thuật phần mềm cho ma trận.
các thuộc tính về đ−ờng Matlab cho phép bạn sử dụng một số ký tự sau đây để xác định thuộc tính của đ−ờng • Line style • Line width • Color • Marker type • Marker size • Marker face and edge coloring (for filled markers) Trang 2 Ma b ker types vμ colors tyle tla định nghĩa các chuỗi xác định cho kiểu đ−ờng, Mar 1. Line Style Specifiers Specifier Line S - −ờng liền(default) đ -- đ−ờng nét đứt : dotted line -. ash-dot line d 2. Marker Specifiers rker Type Specifier Ma + lus sign p O ircle C * sterisk A . Point X ross C S quare S D iamond D ^ pward pointing triangle u V ownward pointing triangle d > ght pointing triangle ri Trang 3 < ft pointing triangle le P ve-pointed star (pentagram) fi H ix-pointed star (hexagram) s 3. Color Specifiers olor Specifier C R ed R G reen G B lue B C yan C M agenta M Y ellow Y K lack B W hite W Các lệnh plot chấp nhận một thông số Linespec ,thông số nμy định nghĩa ba phần tử ,các g) nh dấu) Chú ý rằng khi kết hợp chúng ta có thể để theo một thứ tự bất kỳ or') phần tử nμy xác định đ−ờng • Line style (kiểu đ−ờn • Marker symbol (Kiểu đá • Color (kiểu mầu) For example plot(x,y,'-. Trang 4 Vẽ y theo x sử dụng kiểu đ−ờng lμ dash-dot đặt vòng tròn(o) tại các giao điểm (x,y) ,vμ mầu của đ−ờng vμ mầu của vòng tròn đánh dấu lμ mầu đỏ Nếu bạn xác định một điểm đánh dấu, không phải lμ kiểu đ−ờng, Matlab chỉ vẽ các điểm đánh dấu I. Ví dụ plot(x,y,'d') 4.1.2 Hμm plot(x,y, protypename,protypevalue....) Hμm nμy xác định rõ các thuộc tính của đ−ờng thẳng ví dụ nh− Chiều rộng của đ−ờng thẳng LineStyle {-} | -- | : | -. | none Độ rộng của đ−ờng(Linewith) mặc định lμ o.5 points( 1point=1/72 inch) Ví dụ về Linepropertype: plot(t,sin(2*t),'-mo',... 'LineWidth',2,... 'MarkerEdgeColor','b',... 'MarkerFaceColor',’r’,... 'MarkerSize',12) Giải thích nh− sau: Hμm trên vẽ đồ thị f=sin(2*t) theo biến t, đặc tính của đ−ờng lμ mầu (magne) ,giao hai điểm lμ hình tròn(s), đ−ờng lμ liên tục(solid line) Line width lμ 2(point) ( 1point=1/72 inches) default lμ 0.5 points MarkerEdgeColor lμ mầu đen( blue) Mỗu trong (mặt) của các điểm nút giao lμ mầu đỏ: Chúng ta thấy rằng đồ thị đ−ợc xây dựng từ việc nối các điểm có toạ độ (x,y) bằng các đoạn thẳng *tỷ lệ các trục sẽ đ−ợc matlab tự động tạo ra sao cho phù hợp 4.1.3 Để vẽ nhiều đồ thị trên cùng một hình vẽ thì chúng ta có hai cách +Vẽ đồ thị thứ nhất + Dùng lệnh Hold on +Vẽ tiếp đồ thị thứ hai + hold off hoặc Dùng hμm plot(x1,y1,x2,y2) Ví dụ ta vẽ hai hμm y=sin(x) vμ y1=cos(x) Ta dùng lệnh plot nh− sau: plot(x,y,x,y1); Trang 5 4.1.4 Title , xlabel, ylabel, gtext, legend, grid Title dùng để viết tiêu đề cho đồ thị Ví dụ Title(.............................) Xlabel( string) đặt tên nhãn cho trục x Ylabel(string) đặt tên nhãn cho trục y Gtext(string) để viết text vμo đồ thị Legend(string,-1) để ghi chú thích cho đồ thị, số -1 để ghi chú thích bên ngoμi các trục của hình vẽ Grid on hoặc Grid off để mở hoặc tắt Grid t=0:pi/6:pi; plot(t,sin(2*t),'-mo',... 'LineWidth',2,... 'MarkerEdgeColor','b',... 'MarkerFaceColor','r',... 'MarkerSize',14) legend('y=sin(2*t)','y=cos(2*t)',-1);( chú ý viết đúng thứ tự) grid on; xlabel('truc thoi gian'); ylabel('truc Sin va cos'); title('Do thi ham sin(2*t)'); hold on; j=cos(2*t); plot(t,j,'-b+'); hold off; 4.2 Hμm plot3(x,y,z) để vẽ các điểm vμ đ−ờng trong không gian Ngoμi việc thêm trục z các hμm nμy sử dụng giống nh− hμm plot(x,y) Cấu trúc plot3(X1,Y1,Z1,...) plot3(X1,Y1,Z1,LineSpec,...) plot3(...,'PropertyName',PropertyValue,...) h = plot3(...) Việc sử dụng các hμm nμy giống với hμm Plot trong 2D do vậy ta không đề cập tới nữa Chú ý tới hμm View(a,b) để quan sát góc nhìn của đồ thị trong đó a lμ góc tính theo chiều ng−ợc chiều kim đồng hồ từ phía âm của trục y còn b lμ góc nhìn tính bắng độ xuống mặt phẳng x,y Giá trị mặc định của a vμ b lμ -37.5 0 vμ 30 0 %Ví dụ Trang 6 %Plot a three-dimensional helix. % Vẽ mặt phẳng x= sin(t) ,y=cos(t) , z=t t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) grid on; axis square view(-80,30); xét hai tr−ờng hợp view(-80,30); view(-40,30); Khi cho a=0 vμ b=90 thì hình vẽ trở về hình vẽ trong mặt phẳng toạ độ hai chiều 4.3 Hμm semilogx, semilogy Semi-logarithmic plots Cấu trúc semilogx(Y) semilogx(X1,Y1,...) semilogx(X1,Y1,LineSpec,...) semilogx(...,'PropertyName',PropertyValue,...) h = semilogx(...) semilogy(...) h = semilogy(...) Mô tả Semilogx(y) vẽ giống nh− plot(y) nh−ng chỉ khác rằng tỷ lệ trên trục x lμ logarit cơ số 10, t−ơng tự nh− vậy đối với Semilogy(y) thì tỷ lệ trên trục y theo logarit cơ số 10 ứng với truc x. X=0:10:1000; Y=100*x; Subplot(2,2,1); Semilogx(x,y,'.'); Xlabel('log'); Ylabel('tuyen tinh'); subplot(2,2,2); semilogy(x,y,'.'); xlabel('tuyen tinh'); ylabel('log'); title(' subplot(2,2,3); loglog(x,y,'.'); xlabel('log'); ylabel('log'); title(' loglog(x,y)'); grid on; subplot(2,2,4 ); plot(x,y,'.'); xlabel('tuyen tinh'); ylabel('tuyen tinh'); Title(' semilogx(x,y)'); Grid on; title(' Trang 7 Trong không gian 3 chiều thì ta không dùng các hμm trên để vẽ ,mμ ta sử dụng hμm plot3 vμ dùng hμm set để đặt trục toạ độ t=1:1:100; x=sin(20*pi*t); y=cos(20*pi*t); z=t; subplot(1,2,1); plot3(x,y,z); set(gca,'Zscale','log');grid on;view(125,7); 4.4 Vẽ trong hệ toạ độ cực Cấu trúc polar(theta,rho) polar(theta,rho,LineSpec) Mô tả The polar function accepts polar coordinates, plots them in a Cartesian plane, and draws the polar grid on the plane. polar(theta,rho) creates a polar coordinate plot of the angle theta versus the radius rho. theta is the angle from the x-axis to the radius vector specified in radians; rho is the length of the radius vector specified in dataspace units. polar(theta,rho,LineSpec) LineSpec specifies the line type, plot symbol, and color for the lines drawn in the polar plot. Examples Create a simple polar plot using a dashed, red line: t = 0:.01:2*pi; polar(t,sin(2*t).*cos(2*t),'--r') this is a figure for plotting Polar(phi, r); Khi chuyển từ hệ toạ độ cực sang hệ toạ độ Đêcart ta lμm nh− sau [x,y]=pol2cart(phi, r) sau đó dùng lệnh Plot(x,y) t = 0:.01:2*pi; h=sin(2*t).*cos(2*t); [x,y]=pol2cart(t,h); axis(equal) plot(x,y);grid on; notice : command Axis(‘equal’) set unit which is divided in X and Y axis Đối với hệ toạ độ cầu Trong Matlab không có hμm để vẽ .tuy nhiên ta có thể chuyển đổi từ hệ toạ độ cầu thμnh hệ toạ độ ĐềCart trong không gian [x,y,z]=sph2cart(theta,phi,r) sau đó dùng hμm vẽ trong không gian lμ plot3(x,y,z) Trang 8 4.5 Đồ thị cột bar, barh Cấu trúc bar(Y) bar(x,Y) bar(...,width) bar(...,'style') bar(...,LineSpec) II. Mô tả Vẽ biểu đồ các giá trị trong véc tor hoặc trong Matrận nh− lμ thanh ngang hoặc thanh thẳng đứng bar(Y) vẽ một đồ thị cột cho mỗi phần tử trong Y. Nếu Y lμ một ma trận ,bar nhóm các thanh đ−ợc tạo ra bởi mỗi phần tử trong mỗi hμng. Tỷ lệ trục x từ 1 to length(Y) khi Y lμ một vector, vμ 1 đến size(Y,1), đó chính lμ số hμng , khi Y lμ một ma trận . bar(x,Y) vẽ một đồ thị cột cho mỗi phần tử trong Y tại các vị trí xác định trong x, ở đó x lμ vector tăng định nghĩa các khoảng cho các cột thẳng đứng. Nếu Y lμ một ma trận, bar gộp các cột t−ơng ứng trong cùng một hμng trong Y tại vị trí t−ơng ứng với một phần tử trong x. bar(...,width) hμm nμy giống các hμm trên nh−ng có thêm đặc tính đặt độ rộng của cột.Giá trị mặc định của width lμ 0.8,. Nếu width is 1, các cột trong một nhóm chạm vμo bar(...,'style') Xác định kiểu của cột 'style' lμ 'group' hoặc 'stack'. 'group' lμ chế độ mặc định • 'group' biểu diễn n nhóm của m cột thẳng đứng ,ở đó n lμ số hμng vμ m lμ số cột trong Y. • 'stack' Biểu diễn đồ thị cột cho mỗi hμng của Y. Chiều cao của cột lμ tổng các phần tử trong một hμng bar(...,LineSpec) displays all bars using the color specified by LineSpec. Ví dụ Plot a bell shaped curve: x = -2.9:0.2:2.9; bar(x,exp(-x.*x)) colormap hsv Trang 9 T−ơng tự đồ thị cột trong không gian lệnh vẫn giữ nguyên nh−ng thay vì bar ta thay lệnh bar3(x,y,z) 4.6 Đồ thị bánh (Pie) Cấu trúc: pie( x ) :Hμm nμy vẽ đồ thị bánh với các 'khoanh' đ−ợc xác định bởi phần trăm các giá trị trong vector x ví dụ x=[ 1 2 3 4] phân thμnh 4 khoanh trên toμn bộ vòng tròn ,mỗi khoanh t−ơng ứng phần trăm các phần tử trong x >>x=[ 1 2 3 4]; >>pie(x) cho đồ thị nh− sau: Đỉnh cao nhất ứng với phần tử đầu tiên của véc tor ,các phần tử tiếp theo đ−ợc bố trí theo chiều ng−ợc chiều kim đồng hồ . Nếu tổng các phần tử trong vec tor x <1 thì trên đồ thị bánh biểu diễn phần trăm chính lμ các phần tử đó . Ví dụ >> x=[ 0.1 0.2 0.3 ] % t−ơng ứng với 10% 20% 30% >>pie(x); Trang 10 Trang 11 ch−ơng 4 Ma trận - các phép toán về ma trận. 4.1 Khái niệm: - Trong MATLAB dữ liệu để đ−a vμo xử lý d−ới dạng ma trận. - Ma trận A có n hμng, m cột đ−ợc gọi lμ ma trận cỡ n ì m. Đ−ợc ký hiệu An ì m - Phần tử aij của ma trận An ì m lμ phần tử nằm ở hμng thứ i, cột j . - Ma trận đơn ( số đơn lẻ ) lμ ma trận 1 hμng 1 cột. - Ma trận hμng ( 1 ì m ) số liệu đ−ợc bố trí trên một hμng. a11 a12 a13 ... a1m - Ma trận cột ( n ì 1) số liệu đ−ợc bố trí trên 1 cột. a11 a21 a31 . . an1 4.1.1 Các qui định để định nghĩa một ma trận: - Tên ma trận có thể gồm 31 ký tự. Bắt đầu phải bằng chữ cái sau đó có thể lμ số, chữ cái, các ký tự đặc biệt ... Tên đặt bên trái dấu bằng , bên phải dấu bằng lμ các phần tử của ma trận. - Bao quanh các phần tử của ma trận bằng dấu ngoặc vuông. - Các phần tử trong ma trận đ−ợc cách nhau bởi ký tự trống hoặc dấu phẩy ( , ). - Kết thúc một hμng trong ma trận
File đính kèm:
- Tu hoc Matlap.pdf