Bài giảng điện tử tin học Ứng dụng trong kỹ thuật địa chất và dầu khí

Tổng quan về MATLAB  Các phép toán, biểu thức và hàm cơ bản  Lập trình trong MATLAB  Đồ họa cơ bản  Cấu trúc chƣơng trình  BÀI TẬP

pdf192 trang | Chia sẻ: thuychi11 | Lượt xem: 834 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng điện tử tin học Ứng dụng trong kỹ thuật địa chất và dầu khí, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÀI GIẢNG ĐIỆN TỬ TIN HỌC ỨNG DỤNG TRONG KỸ THUẬT ĐỊA CHẤT & DẦU KHÍ Tác giả : ThS. Đỗ Quang Khánh ThS. Bùi Tử An Bộ môn : Khoan & Khai thác dầu khí Copyright 2007 MATLAB Copyright 2007 MATLAB 2 MATLAB CĂN BẢN  Tổng quan về MATLAB  Các phép toán, biểu thức và hàm cơ bản  Lập trình trong MATLAB  Đồ họa cơ bản  Cấu trúc chƣơng trình  BÀI TẬP Copyright 2007 MATLAB 3 CÁC VẤN ĐỀ NÂNG CAO TRONG MATLAB  Symbolic trong MATLAB  Ma trận và đại số tuyến tính  Hàm số và phƣơng trình  Đồ họa nâng cao  Vấn đề tạo giao diện  BÀI TẬP Copyright 2007 MATLAB 4 TỔNG QUAN VỀ MATLAB  MATLAB (Matrix Laboratory) là một ngôn ngữ thông dịch, cho phép thực hiện nhanh chóng các giải thuật, hiển thị dữ liệu (dƣới dạng đồ thị 2D, 3D, hình ảnh và thậm chí chuỗi hình ảnh) và thực hiện các giao tiếp đồ họa dễ dàng.  Ƣu điểm:  Cung cấp một công cụ tính toán và lập trình bậc cao dễ sử dụng, hiệu quả và thân thiện. SIMULINK giúp ngƣời sử dụng thực hiện các bài toán mô hình hóa, mô phỏng trên máy tính.  Có tính mở, các hàm và các toolbox không ngừng đƣợc bổ sung theo sự phát triển của khoa học bởi chính The Mathworks Ins và cả ngƣời sử dụng trên toàn thế giới  Có công cụ trợ giúp phong phú trực tuyến, trên mạng hay các tài liệu dạng pdf. Copyright 2007 MATLAB 5 Sức mạnh của MATLAB  Môi trƣờng phát triển: gồm các công cụ và tiện nghi giúp viết chƣơng trình, sử dụng các hàm Matlab và các file  Thƣ viện các hàm toán học của Matlab: Các hàm sơ cấp: tổng, sin, tính số phức các hàm phức tạp: Bessel, nghịch đảo ma trận, tính trị riêng, biến đổi Fourier nhanh, wavelet  Ngôn ngữ Matlab: Các lệnh cao cấp xử lý ma trận, lệnh rẻ nhánh, vòng lặp, xuất nhập, cấu trúc dữ liệu, lập trình hƣớng đối tƣợng  Xử lý đồ họa: Hiển thị dữ liệu dạng đồ họa 2D, 3D, hoạt hình, xử lý ảnh và cả GUI Copyright 2007 MATLAB 6 Sức mạnh của MATLAB (tt)  Thƣ viện API của Matlab: Cho phép liên kết các chƣơng trình C và Fortran Các ngôn ngữ khác có thể gọi các hàm dll đƣợc tạo bởi Matlab.  Các hộp công cụ (Toolbox): Tập hợp các hàm Matlab đƣợc viết sẵn để giải quyết các vấn đề thuộc các chuyên ngành khác nhau. Các toolbox khiến cho Matlab có thể ứng dụng vào nhiều lĩnh vực kỹ thuật khác nhau: Điện tử, Điều khiển tự động, Kỹ thuật điện, Viễn thông, Cơ khí, Động lực, Dầu khí, Địa chất, hóa học, Copyright 2007 MATLAB 7 Các khái niệm cơ bản Khi chạy chƣơng trình MATLAB, thì cửa sổ này sẽ xuất hiện Cửa sổ lệnh Cửa sổ không gian làm việc Cửa sổ lịch sử lệnh Copyright 2007 MATLAB 8 Các khái niệm cơ bản (tt)  Hoạt động trong MATLAB  Command window (cửa sổ lệnh) − Dấu “>>” dùng để chạy lệnh, viết chƣơng trình, Chạy chƣơng trình.  Command history window (cửa sổ lịch sử lệnh) − Liệt kê tất cả các lệnh đã sử dụng trƣớc đó kèm theo thời gian làm việc.  Current Directory (cửa sổ thƣ mục hiện tại) − Cho biết thƣ mục hiện tại làm việc. Mặc định khi cài MATLAB701\work (Version 7.01)  Workspace (cửa sổ không gian làm việc) − Cho biết các biến đƣợc sử dụng trong chƣơng trình. Copyright 2007 MATLAB 9 Các khái niệm cơ bản  Một số lệnh hệ thống Lệnh Ý nghĩa  clc xóa cửa sổ lệnh  clf xóa cửa sổ đồ họa  help xem phần trợ giúp một số lệnh  quit, exit Thoát Matlab  Ctrl+c Dừng chƣơng trình  pause Ngừng tạm thời chƣơng trình  edit Gọi chƣơng trình soạn thảo type đọc nội dung file.m  input Nhập dữ liệu từ bàn phím  demo Gọi chƣơng trình demo  echo on/off Tắt mở hiển thị các lệnh trong M-files Copyright 2007 MATLAB 10 Các khái niệm cơ bản (tt)  CÁC TOÁN TỬ VÀ KÍ TỰ ĐẶC BIỆT • plus (+) cộng • uplus (+) Cộng unary • minus ( - ) Trừ • uminus (-) Trừ unary • mtimes(. *) Nhân ma trận • times (*) Nhân mảng • mpower (^) lũy thừa ma trận • power (. ^ ) lũy thừa mảng • mldivide (\ ) Chia trái ma trận • Mrdivide( /) Chia phải ma trận • ldivide (.\ ) Chia trái mảng • mdivide (./ ) Chia phải ma trận • kron Sản phẩm cơ năng Copyright 2007 MATLAB 11 Các khái niệm cơ bản (tt)  Toán tử quan hệ • eq (== ) Bằng • ne ( ~= ) Không bằng • lt (< ) Nhỏ hơn • gt (>) Lớn hơn • le (<= ) Nhỏ hơn hoặc bằng • ge (>= ) Lớn hơn hoặc bằng Copyright 2007 MATLAB 12 Các khái niệm cơ bản (tt)  Toán tử logic • and (&) Logic và • or ( | ) Logic hoặc • not ( ~ ) Logic phủ định • xor Logic hoặc phủ định • any True nếu mọi phần tử của vector khác không. • all True nếu tất cả các phần tử khác không Copyright 2007 MATLAB 13 Các khái niệm cơ bản (tt)  Các kí tự đặc biệt : Dấu hai chấm () Dấu ngoặc đơn [ ] Dấu ngoặc vuông { } Dấu ngoặc nhọn . Dấu thập phân . Truy nhập cấu cấu trúc trƣờng .. Thƣ mục mẹ ... Dấu tiếp tục , Dấu phẩy ; Dấu chấm phẩy % Dấu chú thích Copyright 2007 MATLAB 14 Các khái niệm cơ bản (tt) % Dấu chú thích ! Liên quan câu lệnh của hệ điều hành = Gán „ Nhảy transpose(.‟) Chuyển vị ctranspose(„ ) Chuyển vị số phức liên hợp horzcat [, ] Ghép chuỗi theo chiều ngang vertcat[; ] Ghép chuỗi theo chiều đứng subsasgn Gán subscripted bsref Tham chiếu subscripted subsindex Chỉ số subscripted Copyright 2007 MATLAB 15 Các khái niệm cơ bản (tt)  BIẾN  Quy định về tên biến: − Giống các ngôn ngữ khác, Matlab có những quy định về tên biến phải là một từ, không chứa dấu cách, và phải tuân thủ theo các quy tắc sau:  Có thể chứa nhiều nhất 31 kí tự, còn các kí tự sau kí tự 31 sẽ bị lờ đi. Ví du: Thoi_gian_dong_cua_vuaximang100,  Tên biến bắt đầu phải là chữ cái, tiếp theo có thể là chữ số, dấu gạch dƣới. Thí dụ: Do_bien_thien, Heso, heso, Donhot, donhot  Kí tự chấm “.” không đƣợc dùng vì nó có ý nghĩa đặc biệt Copyright 2007 MATLAB 16 BIẾN (tt)  Một số biến đƣợc đĩnh nghĩa trƣớc: − 1/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = Inf − 0/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = NaN − Eps ans = 2.2204e-016 Copyright 2007 MATLAB 17 Một số biến đƣợc định nghĩa trƣớc (tt) Ý Copyright 2007 MATLAB 18  Độ lớn của biến − Xác định độ lớn hay chiều dài của biến vector cũng nhƣ ma trận thông qua một số hàm sau đây:  Size(A) Trả về 1 vector chứa kích thƣớc A, gồm số hàng và số cột của A.  Length(A) Trả về chiều dài của A, giá trị lớn nhất của hàng và cột.  Ngoài ra còn có các hàm: Size(A,p); [m,n] = size(A) Copyright 2007 MATLAB 19 BIẾN (tt)  Thí dụ: >> A = [1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> [m,n] = size(A) m = 2 n = 3 >> length(A) ans = 3 >>size(A,1) ans = 2 Copyright 2007 MATLAB 20 BIẾN (tt)  BIẾN MÔI TRƢỜNG (Environmental Variable) Thí dụ: >> a = 1 a = 1 >> b = „MATLAB‟ b = Matlab Ta nói, a, b là các biến môi trường. Copyright 2007 MATLAB 21 BIẾN (tt)  Khi làm việc trong MATLAB ở trong cửa sổ lệnh cũng nhƣ các giá trị đã đƣợc tạo ra. Những lệnh và biến này đƣợc thƣờng trú trong môi trƣờng làm việc của MATLAB (Workspace) và có thể đƣợc nạp trở lại khi muốn.  Đời sống của những biến chấm dứt khi ta thoát khỏi chƣơng trình MATLAB.  Nhƣ Thí dụ trên, a đƣợc hiểu la một biến số, b là một chuỗi.  Khi định nghĩa biến môi trƣờng, nếu gán giá trị cho nó thì kiểu biến sẽ phụ thuộc vào kiểu giá trị đã gán cho nó. Copyright 2007 MATLAB 22 BIẾN (tt)  BIẾN CỤC BỘ (Local Variable)  Biến này chỉ tồn tại trong một hàm MATLAB và không hiện hữu trong cửa sổ lệnh. Thí dụ: function[mean,stdev] = stat(x); n = length(x); mean = sum(x)/n; stdev = sqrt(mean);  Trong trƣờng hợp này n là biến cục bộ và chỉ đƣợc truy xuất trong một hàm. Copyright 2007 MATLAB 23 BIẾN (tt)  BIẾN TOÀN CỤC (Global Variable)  Đƣợc định nghĩa bằng từ khóa global. Việc xóa biến toàn cục dùng lệnh clear global  Isglobal(ten_bien): trả về 1 (ten_bien là biến toàn cục), 0 (ten_bien không phải là biến toàn cục) Thí dụ: Global x y z x, y, z là các biến toàn cục. Copyright 2007 MATLAB 24 BIẾN (tt)  Thƣờng mỗi hàm trong MATLAB đƣợc viết dƣới dạng M File, có riêng những biến cục bộ cho từng hàm và đƣợc lƣu trữ trong một vùng biến đặc biệt, việc gọi hàm trong một hàm đều có thể truy xuất biến này.  Nên dùng KÍ TỰ HOA để đặt tên biến toàn cục để tránh trùng tên với các biến trong Workspace. Copyright 2007 MATLAB 25 BIẾN (tt)  BIẾN SYMBOLIC  Symbolic processing là thuật ngữ dùng mô tả cách thức máy tính thực hiện tính các biểu thức toán học (Thí dụ, rút gọn một đa thức, đặt thừa số chung, tính giá trị một biểu thức đại số, giải phƣơng trình đại số, giải phƣơng trình vi phân, )  Khởi tạo biến symbolic: x = sym(„x‟): Tạo biến symbolic có tên là x. x = sym(„x‟,‟real‟): Tạo biến symbolic có tên x và là biến không bị ràng buộc phải là biến thực. k = sym(„p‟,‟positive‟): Tạo biến symbolic k là biến thực, dƣơng.  Khởi tạo hằng symbolic: Nhằm tránh mắc sai lầm khi làm tròn. Copyright 2007 MATLAB 26 BIẾN (tt)  Khởi tạo hằng symbolic Thí dụ: >> hai_phan_ba = sym(„2/3‟); >> pi = sym(„pi‟); >> hai_phan_ba = hai_phan_ba = 2/3 % Không hiển thị giá trị xấp xỉ >> Pi Pi = pi % không hiển thị giá trị xấp xỉ. - Liệt kê các biên symbolic hiện hành, sử dụng hàm Copyright 2007 MATLAB 27 BIẾN (tt) - Symbolic  Liệt kê các biến Symbolic >> syms x y; >> p = 2*x + 3*y; % Tạo biến symbolic p thông qua biểu thức symbolic >> u = sqrt(x^2 + y^2); % Tạo biến symbolic u thông qua biêu thức symbolic >> d = subs(u, {x,y},{2,3}) % Tính giá trị biểu thức u khi x = 2, y = 3. d = 13 >> v = subs(u,{x,y},{3,4}) % Tính giá trị biểu thức khi x = 3; y = 4; v = 5 >> syms „r‟ „s‟ „x‟ „y‟ Copyright 2007 MATLAB 28 BIẾN (tt) - Symbolic  Khởi tạo ma trận symbolic bằng biến symbolic. Thí dụ: >> n = 3; >> syms x; >> A = x.^ [[0:n]‟.* [0:n]]; % Dùng phép biến đổi lũy thừa mảng A = [1, 1, 1, 1] [1, x, x^2, x^3] [1, x^2, x^4, x^6] [1, x^3, x^6, x^9] Copyright 2007 MATLAB 29 BIẾN (tt) - Symbolic  Tìm biến symbolic trong một hàm Thí dụ: >> syms b x y z; >> findsym(5*b + 2*z) % Hàm này tìm biến symbolic trong một hàm ans = b, z Copyright 2007 MATLAB 30 BIẾN (tt)  LƢU và NẠP Biến  Biến sẽ bị xóa sạch khi: − Dùng lệnh: clear all − Thoát chƣơng trình MATLAB  Lưu biến: − Để sử dụng lại cho phiên làm việc sau; dùng lệnh (lƣu tất cả các biến do Workspace đang quản lý(tên, kích thƣớc, giá trị) vào một tập tin nhị phân (binary file) có tên matlab.mat Copyright 2007 MATLAB 31 BIẾN (tt)  Nạp biến: − Dùng lệnh Nạp tất cả các biến đã lƣu vào Workspace để dùng lại  Nếu không muốn dùng tập tin mặc định matlab.mat, ta sử dụng lệnh để lƣu tất cả biến vào tập tin có tên filename.mat và muốn nạp lại biến khi dùng lệnh  Lƣu một vài biến trong cửa sổ workspace − Lệnh  Nói chung cách đơn giản nhất là: Từ cửa sổ Menu File ở cửa sổ lệnh chọn Đặt tên tập tin (có đuôi mở rộng là *.mat) Copyright 2007 MATLAB 32 Câu chú thích  Tất cả các văn bản đằng sau kí hiệu phần trăm (%) đều là câu giải thích.  Thí dụ: > heso_a = 10 % Hệ số a ptb2 heso_a = 10 >> heso_b = 20 % Hệ số b ptb2 heso_b = 20 Copyright 2007 MATLAB 33 Số phức  Một trong những điểm mạnh nhất của MATLAB là làm việc với số phức.  Các hàm đặc biệt của số phức:  real(x) Phần thực của X  imag(x) Phần ảo của X  conj(x) Liên hợp phức của X  abs(x) Độ lớn, trị tuyệt đối của X  angle(x) Góc pha của số phức  complex(x) Tạo số phức từ phần thực và ảo Copyright 2007 MATLAB 34 Số phức (tt)  Thí dụ: >> a=1+3i a = 1.0000 + 3.0000i >> b=2-4i b = 2.0000 - 4.0000i >> a+b ans = 3.0000 - 1.0000i >> abs(a) ans = 3.1623 % độ lớn của a >> real(b) % phần thực của số phức b ans = 2 >> imag(b) %phần ảo của số phức b ans = -4 >> complex(2,2) ans = 2.0000 + 2.0000i Copyright 2007 MATLAB 35 Một số hàm toán học thông thƣờng Tên hàm Mô tả, kết quả trả về Any(x) 1 hoặc vecto hàng đơn vị nếu bất kỳ phần tử nào của vecto hoặc ma trận x khác 0. All(x) là 1 hoặc vecto hàng đơn vị nếu tất cả các phần tử nào của vecto hoặc ma trận x khác 0. Isnan(x) Là một tại những vị trí NaN (Not a Number, Thí dụ 0/0) trong x Isinf(x) Là 1 tại những vị trí Inf (Infinitive, 1/0) trong x. Finite(x) Là 1 tại những vị trí có giá trị hữu hạn trong x. Isstr(x) Là 1 nếu x là một string (chuỗi) Issym(x) Là 1 nếu x là một biến sym Abs(x) Trị truyệt đối hoặc biên độ số phức Acos(x) Hàm cosin ngƣợc Acosh(x) Hyperbolic cosin ngược Ceil(x) Làm tròn về phía trên Atan(x) Hàm số tang ngược Asin(x) Hàm số sin ngƣợc Copyright 2007 MATLAB 36 Một số hàm toán học thông thƣờng Tên hàm Mô tả, kết quả trả về cos(x) Hàm cosin cosh(x) Hyperbol cosin exp(x) Hàm mũ ex fix(x) Xấp xỉ không floor(x) Làm tròn về phía zero log(x) Hàm logarit tự nhiên log10(x) Hàm logarit thập phân round(x) Làm tròn về số nguyên gần nhất sign(x) Hàm dấu, Thí dụ: sign(1.2) = 1,sign(-23.4) = -1, sign(0) = 0 sin(x) Hàm sin sinh(x) Hàm Hyperbol sin sqrt(x) Căn khai căn bậc hai gdc(x,y) Bội số chung lớn nhất của hai số nguyên x và y. lcm(x,y) Bội số chung nhỏ nhất của hai số nguyên x và y. x^y Hàm mũ Copyright 2007 MATLAB 37 Một số hàm toán cơ bản Tên hàm Mô tả, kết quả trả về rem(x,y) Số dư phép chia x/y sum(v) Tổng các phần tử vector prod(v) Tích các phần tử vector min(v) Phần tử vector bé nhất max(v) Phần tử vector lớn nhất mean(v) Giá trị trung bình cộng sign(x) Hàm dấu (= 1 nếu x>0; = -1 nếu x<0; = 0 nếu x=0) Copyright 2007 MATLAB 38 Một số hàm cơ bản (tt)  Thí dụ: >> x=4; >> sqrt(x) ans = 2 >> exp(x) ans = 54.5982 >> sign(x) ans = 1 >> rem(x,3) ans = 1 >> v=[1 2 3]; >> min_v=min(x) min_v = 1 >> mean(x) ans = 2 >> sum(x) ans = 6 Copyright 2007 MATLAB 39 Các Hàm liên quan đến ĐA THỨC  Đa thức đƣợc biểu diễn bằng vecto bậc một có bậc giảm dần.  Cho hai đa thức f, g lần lƣợt đƣợc biểu diễn bởi a và b. Ta sẽ có các hàm sau: Conv(a,b) Nhân hai đa thức Deconv(a,b) Chia hai đa thức a + b Tổng hai đa thức a – b Hiệu hai đa thức roots(a) nghiệm của đa thức f đƣợc biểu diễn bởi vecto a. poly(r) Trả về các hệ số của đa thức có nghiệm là vecto r.  Lưu ý: Khi cộng và trừ các đa thức phải có cùng kích thước. Copyright 2007 MATLAB 40 Hàm ĐA THỨC (tt)  Thí dụ: Giải phƣơng trình: x4 + 10x3 + 0x - 1 = 0 Giải: Ta biểu diễn đa thức x4 + 10x3 + 0x - 1 bằng một vectơ hàng với các phần tử là các hệ số của đa thức sắp xếp theo thứ tự bậc giảm dần. >> a = [1 10 -2 0 -1]; Nghiệm của đa thức có thể đƣợc tính bằng hàm: roots(a) >> R = roots(a) R = -10.1971 0.5291 -0.1660 + 0.3972i -0.1660-0.3972i Copyright 2007 MATLAB 41 Hàm ĐA THỨC (tt)  Từ các nghiệm của đa thức có thể xây dựng lại đa thức bằng hàm: poly(a);  Thí dụ: >>a = poly(R) a = 1.0000 10.0000 -2.0000 0.0000 -1.0000 >>a = [1 2 3 4]; % x3+2x2+3x+4 >>b = [5 6 7 8]; % 5x3+6x2+7x+8 >>Tich = conv(a,b) Tich = 5 16 34 60 61 52 32 Copyright 2007 MATLAB 42 Hàm ĐA THỨC (tt) >>Thuong = deconv(a,b) Thuong = 0.2000 >>Tong = a + b Tong = 6 8 10 12 >>Hieu = a – b Hieu = -4 -4 -4 -4 Copyright 2007 MATLAB 43 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Vòng lặp FOR:  Cấu trúc: for i = n:m %n = phần tử đầu, m = phần tử cuối end  Thí dụ vòng lặp FOR: Tính giai thừa của 100? Copyright 2007 MATLAB 44 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Vòng lặp WHILE: lặp vòng khi biểu thức logic là true.  Cấu trúc: while end  Thí dụ 1: n=1; while prod(1:n) < 1e100 % prod tính tích các phần n = n+1;% tử cột của vectơ hay End % ma trận Copyright 2007 MATLAB 45 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Lệnh if else elseif  Cấu trúc:  Nếu là true thì đƣợc thi hành, nếu không thì thực hiện các lệnh sau end. if else end if elseif end if end Copyright 2007 MATLAB 46 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Thí dụ 1: if rem(a,2)==0 disp('la mot so chan') b=a/2; End if n<0 disp('la so duong') elseif n==0 disp('la so 0') else disp('la so am') end Copyright 2007 MATLAB 47 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Thí dụ 2: Hàm ngay_trong_thang.m function y = ngay_trong_thang(th,nam) if (th==4)|(th==6)|(th==9)|(th==11) y = 30 elseif (th==2) if (rem(nam,4)~=0) y=28 else y=29 end else y=31 end Copyright 2007 MATLAB 48 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Lệnh switch case: chọn nhiều trƣờng hợp  Cấu trúc: switch case case otherwise <Các phát biểu % thực hiện nếu biểu thức không phù hợp mọi trƣờng hợp> end Copyright 2007 MATLAB 49 CÁC LỆNH ĐIỀU KIỆN VÀ LẶP  Thí dụ: switch input_num case -1 disp(„negative one‟); case 0 disp(„zero‟); case 1 disp(„positive one‟); otherwise disp(„other value‟); end Copyright 2007 MATLAB 50 ĐỒ HỌA CĂN BẢN  Tổng quát về đồ họa trong MATLAB  MATLAB có các hàm đồ họa để vẽ các đặc tuyến bất kỳ trên mặt phẳng 2D, 3D, cho phép tạo ra đối tƣợng đồ họa điều khiển đƣợc.  MATLAB cho phép ngƣời lập trình sử dụng “bộ nhớ ảo”, khi đó có thể ghi các biến làm việc thành tập tin *.mat trên đĩa và có thể nạp bộ nhớ khi cần thiết. Nhờ vậy, MATLAB có thể giải đƣợc các bài toán lớn và phức tạp.  Ngoài ra, MATLAB còn phép quản lý tập tin dữ liệu trong chính môi trƣờng MATLAB mà không cần đến môi trƣờng windows. Copyright 2007 MATLAB 51 ĐỒ HỌA CĂN BẢN (tt)  Màu sắc và kiểu đƣờng vẽ Ký hiệu Màu Ký hiệu Kiểu nét y Yellow . Point m Magenta o Circle c Cyan x X-mark r Red + Plus g Green * Star b Blue - Solid line w White : Dotted line k Black -. Dash-dot line -- Dased line Copyright 2007 MATLAB 52 ĐỒ HỌA CĂN BẢN (tt) Các kiểu data marker Ký hiệu trong plot Dấu chấm (dot .) . Dấu sao (asterisk *) * Dấu gạch chéo (cross x) x Vòng tròn (circle o) o (chữ o thường) Dấu cộng (plus sign + ) + Hình vuông (square ) s Diamond ( ) d Ngôi sao () p Copyright 2007 MATLAB 53 ĐỒ HỌA CĂN BẢN (tt)  Đồ họa không gian 2 chiều trong MATLAB  Lệnh plot: Đồ thị tuyến tính X-Y, vẽ trong mặt phẳng hai chiều.  Lệnh fplot: đƣợc dùng để vẽ hàm số một cách “thông minh”, nó tự động phân tích hàm phải vẽ và chọn số điểm thích hợp cần phải thể hiện để phản ánh các đặc điểm của hàm. − Cú pháp: fplot(„string‟, [xmin,xmax]) − Dạng đầy đủ: fplot(„string‟, [xmin xmax ymin ymax] Copyright 2007 MATLAB 54 ĐỒ HỌA CĂN BẢN – Plot() (tt) Thí dụ: >>x = linspace(0,2*pi,30); %Tạo mảng x gồm 30 phần tử có giá trị trong khoảng 0 – 2* >>y = sin(x); >>plot(x,y) %vẽ đồ thị hàm y theo x >>xlabel(„x [0-2*pi]); ylabel(„y‟); %đặt nhãn trục tọa độ x và y >>title(„y = sin(x)‟) % đặt tên đồ thị >>grid on % Tạo lưới cho đồ thị Copyright 2007 MATLAB 55 ĐỒ HỌA CĂN BẢN – Plot() (tt) Copyright 2007 MATLAB 56 ĐỒ HỌA CĂN BẢN – Plot() (tt)  Để vẽ hai đồ thị trên cùng một trục tọa độ >>z = cos(x); >>plot(x,y,‟b-*‟,x,z,‟r‟) % Vẽ y và z trên cùng đồ thị, y là đường -* màu xanh, z là đường -- màu đỏ >>legend(„y = sin(x)‟,‟z=cos(x)‟) % c