1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI GIẢNG TÓM TẮT MATLAB CĂN BẢN

71 8 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 71
Dung lượng 1,59 MB

Nội dung

TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA CÔNG NGHỆ THÔNG TIN ThS Thái Duy Quý BÀI GIẢNG TÓM TẮT MATLAB CĂN BẢN Dành cho sinh viên khối tự nhiên – công nghệ (Lưu hành nội bộ) Đà Lạt 2013 Giáo trình Matlab Thái Duy Quý LỜI NÓI ĐẦU Giáo trình “Matlab bản” biên soạn theo chương trình đào tạo hệ thống tín trường Đại Học Đà Lạt Mục đích biên soạn giáo trình nhằm cung cấp cho sinh viên khối tự nhiên, đặc biệt sinh viên ngành Vật lý hạt nhân kiến thức phương pháp xử lý ngôn ngữ Matlab Đây học phần lần triển khai, giảng dạy, tác giả có nhiều cố gắng công tác biên soạn chắn giáo trình cịn có nhiều thiếu sót Tác giả xin trân trọng tiếp thu tất ý kiến đóng góp bạn sinh viên, đồng nghiệp lĩnh vực để hồn thiện giáo trình, phục vụ tốt cho việc dạy học cho sinh viên Đà Lạt, Tháng 08 năm 2013 Thái Duy Quý Trang Giáo trình Matlab Thái Duy Quý MỤC LỤC CHƯƠNG I GIỚI THIỆU MATLAB Giới thiệu Khởi động chuẩn bị thư mục làm việc Matlab Quản lý không gian làm việc Matlab Các thành phần Mathlab Các phím tắt Matlab Các toán tử Matlab: CHƯƠNG MATLAB CƠ BẢN 11 Nhập xuất liệu từ dòng lệnh 11 Nhập xuất liệu từ bàn phím: 11 Nhập xuất liệu từ file: 12 Các hàm toán học: 13 Các phép toán ma trận vector: 16 Tạo số ngẫu nhiên: 18 Các lệnh dùng lập trình: 19 CHƯƠNG XỬ LÝ ĐỒ THỊ TRONG MATLAB 22 Khái niệm chung 22 Các lệnh vẽ 22 Tạo hình vẽ 22 Đặc tả kiểu đường vẽ 23 Đặc tả màu kích thước đường vẽ 23 Thêm đường vẽ vào đồ thị có 25 Chỉ vẽ điểm số liệu 25 Vẽ điểm đường 26 Vẽ với hai trục y 26 10 Vẽ đường cong với số liệu 3D 27 11 Đặt thông số cho trục 27 12 Ghi nhãn lên trục toạ độ 28 13 Định vị văn hình vẽ 29 14 Đồ hoạ đặc biệt 30 15 Đồ hoạ 3D 37 16 Vẽ vectơ 40 CHƯƠNG LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUI) 44 Cách thực 44 Lập trình giao diện với Blank GUI 45 Kéo thả thiết lập thuộc tính cho điều khiển 46 Viết lệnh cho chương trình 47 Các tính chất điều khiển GUIDE Matlab 49 Tổng quan hàm Callback lập trình GUI 50 Chương trình Calculator 52 CHƯƠNG MỘT SỐ PHƯƠNG PHÁP XỬ LÝ TÍNH TỐN TRÊN MATLAB 55 Tính định thức ma trận 55 Nghịch đảo ma trận cách dùng Minor 59 Nghịch đảo ma trận thuật toán gauss-Jordan 60 Lập trình giao diện: Giải phương trình bậc 61 PHỤ LỤC 66 Trang Giáo trình Matlab Thái Duy Quý CHƯƠNG I GIỚI THIỆU MATLAB Giới thiệu Matlab từ viết tắt Matrix Laboratory, Matlab ngơn ngữ lập trình cấp cao dạng thơng dịch, mơi trường tính tốn số thiết kế công ty MathWorks Matlab cho phép thực phép tính tốn số, ma trận, vẽ đồ thị hàm số hay biểu diễn thông tin (dưới dạng 2D hay 3D), thực thuật toán giao tiếp với chương trình ngơn ngữ khác cách dễ dàng Khởi động chuẩn bị thư mục làm việc Matlab Trước khởi động Matlab, người dùng nên tạo thư mục làm việc để chứa file chương trình (Ví dụ: D:\ThucHanh_DSP) Matlab thơng dịch lệnh lưu file có dạng *.m Sau cài đặt Matlab việc khởi chạy chương trình đơn giản nhấp vào biểu tượng desktop , vào Start\All Programs\Matlab 7.0.4\ Matlab Sau khởi động xong Matlab, bước thư mục làm việc cho Matlab Nhấp vào biểu tượng công cụ chọn thư mục làm việc (ví dụ: D:\ThucHanh_Matlab) Trang Giáo trình Matlab Thái Duy Quý Quản lý không gian làm việc Matlab Không gian làm việc Matlab gồm có phần sau: *Nút Start: góc bên trái hình, cho phép chạy ứng dụng mẫu (demos), công cụ cửa sổ chưa hiển thị khởi động Matlab Ví dụ : Start/Matlab/Demos chạy ứng dụng mẫu * Cửa sổ lệnh: Quá trình khởi động đưa người dùng đến Cửa sổ lệnh, nơi dòng lệnh biểu thị dấu '>>' Đây dấu hiệu cho thấy Matlab chờ đánh (câu) lệnh Có thể xóa trắng tồn cửa sổ lệnh lệnh: >> clc vào Edit/ Clear Command Window Khi thực lệnh này, toàn giá trị biến có khơng thay đổi hay * Cửa sổ không gian làm việc (workspace): Nơi lưu giữ biến liệu người dùng nhập vàongoại trừ biến cục thuộc M-file Dùng lệnh 'who' 'whos' để liệt kê biến có khơng gian làm việc Để biết giá trị biến, ta gõ tên biến dấu nhắc lệnh Để xóa hàm biến khỏi không gian làm việc, sử dụng lệnh 'clear': >> clear tên_biến; * Cửa sổ biên tập mảng (ma trận nói chung): Khi có mảng, chỉnh sửa, biên tập lại Array Editor Công cụ làm việc bảng tính (spreadsheet) cho ma trận Trang Giáo trình Matlab Thái Duy Quý * Cửa sổ địa thư mục thời: Thư mục thời nơi chương trình Matlab tìm M-file, file khơng gian làm việc (.mat files) tải lưu lại Để tạo file.m thư mục làm việc bạn đọc thực hiện:  Nhấp vào biểu tượng  Cửa sổ soạn thảo xuất hiện, gõ chương trình cần thiết vào file Sau hoàn tất nhấn vào biểu tượng vào File\New\M-File: để lưu vào thư mục (D:\ThucHanh_Matlab) Để thực thi tập lệnh có file.m thư mục làm việc người dùng cần gõ tên file Matlab tự động thực thi dịng lệnh có file.m (ví dụ để thực thi lệnh có file test.m, cần gõ lệnh test) Các thành phần Mathlab - Ngôn ngữ Matlab: ngôn ngữ ma trận/mảng cấp cao với câu lệnh, hàm, cấu trúc liệu, vào/ra, tính lập trình hướng đối tượng Nó cho phép lập trình ứng dụng từ nhỏ đến ứng dụng lớn phức tạp Trang Giáo trình Matlab Thái Duy Q - Mơi trường làm việc Matlab: Đây công cụ phương tiện mà bạn sử dụng với tư cách người dùng người lập trình Matlab Nó bao gồm phương tiện cho việc quản lý biến không gian làm việc Workspace xuất nhập liệu Nó bao gồm cơng cụ phát triển, quản lý, gỡ rối định hình M-file, ứng dụng Matlab - Xử lý đồ hoạ: Đây hệ thống đồ hoạ Matlab Nó bao gồm lệnh cao cấp cho trực quan hoá liệu hai chiều ba chiều, xử lý ảnh, ảnh động, Nó cung cấp lệnh cấp thấp cho phép bạn tuỳ biến giao diện đồ hoạ xây dựng giao diện đồ hoạ hoàn chỉnh cho ứng dụng Matlab - Thư viện tốn học Matlab: Đây tập hợp khổng lồ thuật toán tính tốn từ hàm cộng, sin, cos, số học phức tới hàm phức tạp nghịch đảo ma trận, tìm trị riêng ma trận, phép biến đổi Fourier nhanh - Giao diện chương trình ứng dụng Matlab API (Application Program Interface): Đây thư viện cho phép bạn viết chương trình C Fortran tương thích với Matlab Simulink, chương trình kèm với Matlab, hệ thống tương tác với việc mô hệ thống động học phi tuyến Nó chương trình đồ hoạ sử dụng chuột để thao tác cho phép mơ hình hoá hệ thống cách vẽ sơ đồ khối hình Nó làm việc với hệ thống tuyến tính, phi tuyến, hệ thống liên tục theo thời gian, hệ gián đoạn theo thời gian, hệ đa biến Các phím tắt Matlab Trong q trình soạn thảo lệnh, dùng phím tắt sau đây: Ký hiệu phím ↑ Chức Phím tắt Ctrl‐P Gọi lại lệnh trước Lùi lại kí tự → Ctrl‐B Ctrl → Ctrl‐R Sang phải từ ↓ ← Ctrl‐N Gọi lệnh sau Ctrl‐F Tiến lên kí tự Trang Giáo trình Matlab Thái Duy Quý Ctrl← Crtl‐L Sang phải 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ự chỗ nháy đứng backspace Ctrl‐H Xố kí tự trước chỗ nháy đứng Các toán tử Matlab: Các toán tử bản: Trừ Nhân ‐ / Chia phải \ Chia trái ^ Luỹ thừa ‘ Chuyển vị ma trận hay số phức liên hợp + Cộng * Các toán tử quan hệ : < nhỏ lớn >= lớn == ~= không Các toán tử logic: & | or ~ not Các hằng: số ảo pi 3.14159265 i j tương tự i eps sai số 2‐52 realmin số thực nhỏ 2‐1022 realmax số thực lớn 21023 inf NaN Not a number vô lớn Các lệnh bản: Trang Giáo trình Matlab Thái Duy Quý Chức Lệnh Clear Xóa tất biến nhớ Matlab clc Lệnh xóa cửa sổ lệnh (command window) pause Chờ đáp ứng từ phía người dùng = Lệnh gán % Câu lệnh sau dấu xem dịng thích input Lệnh lấy vào giá trị Ví dụ: x = input(‘Nhap gia tri cho x:’); help lệnh yêu cầu giúp đở từ Matlab Save Lưu biến vào nhớ Ví dụ: Save test A B C (lưu biến A, B, C vào file test) Load Load biến từ file hay nhớ Ví dụ: Load test Các lệnh điều khiển bản: Cú pháp/ Chức Lệnh If: Rẽ nhánh IF expression statements ELSEIF expression statements ELSE statements END Switch: Lệnh rẽ nhiều nhánh SWITCH switch_expr CASE case_expr, statement, , statement CASE {case_expr1, case_expr2, case_expr3, } statement, , statement OTHERWISE, Trang Giáo trình Matlab Thái Duy Quý statement, , statement END Lệnh lặp For FOR variable = expr, statement, , statement END Lệnh lặp While WHILE expression statements END Break Thốt đột ngột khỏi vịng lặp WHILE hay FOR Continue Bỏ qua lệnh tại, tiếp tục thực vòng lặp lần lặp Return lệnh trả Một số lệnh đồ thị: Chức Lệnh clf xóa hình plot(signal) vẽ dạng sóng tín hiệu signal stairs(signal) vẽ tín hiệu signal theo dạng cầu thang stem(signal) vẽ chuỗi liệu rời rạc bar(signal) vẽ liệu theo dạng cột mesh(A) hiển thị đồ họa dạng 3D giá trị ma trận Chi tiết lệnh làm rõ chương Kết chương Trong chương làm quen với Matlab qua thao tác bản, Matlab ngôn ngữ cấp cao, có chức xử lý ngơn ngữ bình thường Ta tìm hiểu kỹ chức phần Trang 10 Giáo trình Matlab Thái Duy Quý end function psign = permsign(p) % PERMSIGN tra ve dau phep the % +1, neu phep the chan, % ‐1, neu phep the le n = length ( p ); psign = 1; for i = 1:n‐1 j = i; while (p(j) ~= i) j = j + 1; end if ( j ~= i ) temp = p(i); p(i) = p(j); p(j) = temp; psign = ‐ psign; end end function q = nextperm(p) n = length(p); q = p; if(n == 1) q = 1; elseif (q == 0) q = [1:n]; else i = n ‐ 1; Trang 57 Giáo trình Matlab Thái Duy Quý while (q(i) > q(i+1)) i = i ‐ 1; if (i == 0) break; 92 end end if (i == 0) q = [1:n]; else j = n; while (q(j) < q(i)) j = j ‐ 1; end t = q(j); q(j) = q(i); q(i) = t; q(i+1:n) = q(n:‐1:i+1); end end Để tính định thức ta dùng chương trình ctdeterminant.m: clear all, clc %a = [1 2; 5]; a = [1 5; 6; 3]; d = determinant(a) Trang 58 Giáo trình Matlab Thái Duy Quý Nghịch đảo ma trận cách dùng Minor Cho ma trận [A], ta có: ( a 1 )i , j  Aj ,i det[ A] Trong đó: (a-1)i,j phần tử hàng i, cột j ma trận [A]‐1 , Ai,j phần bù đại số phần tử ai,j ma trận [A] Ta xây dựng hàm minorinv() để thực thuật toán trên: function c = minorinv(a) % Tim ma tran nghich dao bang thuat toan minor n = size(a, 1); ms = det(a); for i = 1:n for k = 1:n b = cofactor(a, i, k); c(i, k) = b/ms; end end c = transpose(c); Để tìm ma trận nghịch đảo ta dùng chương trình ctminorinv.m: clear all, clc; a = [1 5; 9; 6]; b = minorinv(a) Trang 59 Giáo trình Matlab Thái Duy Quý Nghịch đảo ma trận thuật toán gauss-Jordan Cho ma trận [A] ma trận đơn vị [E] tương ứng Dạng ma trận [E] cấp 4, là: 1  0 E   0  0 0 0  0 0   Như vậy, vấn đề ta cần tìm ma trận [A]‐1 Phương pháp loại trừ để nhận ma trận nghịch đảo [A]‐1 thực qua n giai đoạn, giai đoạn gồm hai bước Đối với giai đoạn thứ k: - Chuẩn hoá phần tử akk cách nhân hàng với nghịch đảo - Làm cho khơng phần tử phía phía đường chéo cột thứ k Khi k = n [A](k) trở thành ma trận đơn vị [E] trở thành [A]‐1 Ta xây dựng hàm nghịch đảo invmat(): function x = invmat(a) % Nghich dao ma tran a 102 %Cu phap: x = invmat(a) k = size(a, 1); n = k; b = eye(n); a = [a, b]; i = 1; while i”), chuột có dạng “+” Kéo rê chuột tới ngõ vào khối khác thả để kết nối tín hiệu Mơ mơ hình: Dùng lệnh Start (Menu Simulation\Start) nhấp chuột vào icon Start Xem tín hiệu từ Scope: nhấp đơi vào khối Scope: Trang 69 Giáo trình Matlab Thái Duy Quý Chỉnh thông số khối cách nhấp đôi vào khối cần chỉnh Trước mô mơ hình Simulink, cần đặt thơng số mô cách chọn menu Simulation ฀ Configuration Parameters Ở cửa sổ Configuration Parameters, đặt số thông số Start time, Stop time (second – giây), phương pháp giải Solver, Solver options, sau nhấn nút OK Trang 70 Giáo trình Matlab Thái Duy Quý TÀI LIỆU THAM KHẢO [1].Phan Thanh Tao, Giáo trình Matlab, Đại học Đà Nẵng, 2004 [2].Trần Văn Chính, Matlab tồn tập, Đại học Bách Khoa hà Nội, 2005 [3].Ebook, The Student Edition of Matlab, Mathworks, Inc; [4].Brian R Hunt Ronald L Lipsman JonathanM Rosenberg, A Guide to MATLAB for Beginners and Experienced Users, Cambridge University Press, 2001 [5] http://www.mathworks.com Và số tài liệu tham khảo khác Internet Trang 71

Ngày đăng: 19/12/2022, 09:11

w