Giáo trình Matlab căn bả n Thái Duy Quý.. Trang 3[r]
(1)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ộ)
(2)
Giáo trình Matlab bản Thái Duy Quý
Trang
LỜI NĨI ĐẦU
Giáo trình “Matlab căn bản” được biên soạn theo chương trình đào tạo hệ thống tín chỉ của 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 những kiến thức bản về
phương pháp xử lý ngôn ngữ Matlab
Đây học phần lần được triển khai, giảng dạy, tác giả cũng có nhiều cố
gắng công tác biên soạn chắc 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 cả những ý kiến đóng góp của bạn sinh viên, đồng nghiệp trong lĩnh vực để hoà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
(3)Giáo trình Matlab bản Thái Duy Quý
Trang
MỤC LỤC
CHƯƠNG I GIỚI THIỆU MATLAB
1 Giới thiệu
2 Khởi động chuẩn bịthư mục làm việc Matlab
3 Quản lý không gian làm việc Matlab
4 Các thành phần Mathlab
5 Các phím tắt Matlab
6 Các toán tửcơ Matlab:
CHƯƠNG MATLAB CƠ BẢN 11
1 Nhập xuất liệu từ dòng lệnh 11
2 Nhập xuất liệu từ bàn phím: 11
3 Nhập xuất liệu từ file: 12
4 Các hàm toán học: 13
5 Các phép toán ma trận vector: 16
6 Tạo số ngẫu nhiên: 18
7 Các lệnh dùng lập trình: 19
CHƯƠNG XỬLÝ ĐỒ THỊ TRONG MATLAB 22
1 Khái niệm chung 22
2 Các lệnh vẽ 22
3 Tạo hình vẽ 22
4 Đặc tả kiểu đường vẽ 23
5 Đặc tảmàu kích thước đường vẽ 23
6 Thêm đường vẽvào đồ thịđã có 25
7 Chỉ vẽcác điểm số liệu 25
8 Vẽcác điểm đường 26
9 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ẽcác vectơ 40
CHƯƠNG LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUI) 44
1 Cách thực 44
2 Lập trình giao diện với Blank GUI 45
3 Kéo thả thiết lập thuộc tính cho điều khiển 46
4 Viết lệnh cho chương trình 47
5 Các tính chất điều khiển GUIDE Matlab 49
6 Tổng quan hàm Callback lập trình GUI 50
7 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
1 Tính định thức ma trận 55
2 Nghịch đảo ma trận cách dùng Minor 59
3 Nghịch đảo ma trận thuật tốn gauss-Jordan 60
4 Lập trình giao diện: Giải phương trình bậc 61
(4)Giáo trình Matlab bản Thái Duy Quý
Trang
CHƯƠNG I GIỚI THIỆU MATLAB
1. Giới thiệu
Matlab từ viết tắt của Matrix Laboratory, Matlab một 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ố được thiết kế bởi công ty MathWorks Matlab cho phép thực hiện 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 hiện thuật toán giao tiếp với chương trình của ngơn ngữ khác một cách dễ dàng
2. 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 một thư mục làm việc để chứa file chương trình của (Ví dụ: D:\ThucHanh_DSP) Matlab sẽ thông dịch lệnh được
lưu file có dạng *.m
Sau đã cài đặt Matlab việc khởi chạy chương trình chỉ đơn giản nhấp vào biểu tượng của desktop , hoặc vào Start\All Programs\Matlab 7.0.4\ Matlab
(5)Giáo trình Matlab bản Thái Duy Quý
Trang
3. Quản lý không gian làm việc của Matlab
Khơng gian làm việc của Matlab gồm có phần cơ bản sau:
*Nút Start: ở góc dưới bên trái của hình, cho phép chạy ứng dụng mẫu (demos), các công cụ cửa sổchưa hiển thị khởi động Matlab
Ví dụ : Start/Matlab/Demos chạy một ứ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
được biểu thị bằng dấu '>>' Đây dấu hiệu cho thấy Matlab đang chờđánh một (câu) lệnh Có thể xóa trắng tồn bộ cửa sổ lệnh bằng lệnh: >> clc hoặc vào Edit/ Clear Command Window Khi thực hiện lệnh này, toàn bộ giá trị của biến hiện có khơng thay đổi hay mất đi.
* Cửa sổ không gian làm việc (workspace): Nơi lưu giữ biến dữ liệu người dùng nhập vàongoại trừ những biến cục bộ thuộc về một M-file
Dùng lệnh 'who' hoặc 'whos' để liệt kê biến hiện có khơng gian làm việc Để
biết giá trị của biến, ta gõ tên biến tại dấu nhắc lệnh Để xóa một hàm hoặc biến khỏi không gian làm việc, sử dụng lệnh 'clear':
>> clear tên_biến;
(6)Giáo trình Matlab bản Thái Duy Quý
Trang
* Cửa sổ địa chỉ thư mục hiện thời: Thư mục hiện thời nơichương trình Matlab sẽ tìm các M-file, file không gian làm việc (.mat files) đã tải lưu lại
Để tạo một file.m thư mục làm việc bạn đọc có thể thực hiện: Nhấp vào biểu tượng hoặc vào File\New\M-File:
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 đểlưu vào thư mục hiện tại (D:\ThucHanh_Matlab)
Để thực thi tập lệnh có file.m thư mục làm việc người dùng chỉ cần gõ tên file đó Matlab sẽ tựđộng thực thi dịng lệnh có file.m (ví dụđể thực thi lệnh có file test.m, chỉ cần gõ lệnh test)
4. Các thành phần của Mathlab
(7)Giáo trình Matlab bản Thái Duy Quý
Trang
- Môi trường làm việc Matlab: Đây một bộ công cụ phương tiện mà bạn sử dụng với tư cách người dùng hoặc 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 cũng như xuất nhập khẩu dữ
liệu Nó cũng bao gồm công cụ phát triển, quản lý, gỡ rối định hình M-file, ứng dụng của Matlab
- Xử lý đồ hoạ: Đây hệ thống đồ hoạ của Matlab Nó bao gồm lệnh cao cấp cho trực quan hoá dữ liệu hai chiều ba chiều, xử lý ảnh, ảnh động, Nó cũng cung cấp lệnh cấp thấp cho phép bạn tuỳ biến giao diện đồ hoạ cũngnhư xây dựng một giao diện đồ hoạ
hoàn chỉnh cho ứng dụng Matlab của
- Thư viện toán học Matlab: Đây tập hợp khổng lồ thuật tốn tính tốn từ hàm
cơ bản như cộng, sin, cos, số học phức tới hàm phức tạp hơnnhư nghịch đảo ma trận, tìm trị riêng của 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 một thư viện cho phép bạn viết chương trình C Fortran tương thích với Matlab Simulink, một chương trình đi kèm với Matlab, một hệ thống tương tác với việc mô phỏng hệ thống động học phi tuyến Nó một chương trình đồ hoạ sử dụng chuột để
thao tác cho phép mô hình hố một hệ thống bằng cách vẽ một sơđồ khối hình Nó có thể 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
5. Các phím tắt cơ bản Matlab
Trong trình soạn thảo lệnh, có thể dùng phím tắt sau đây:
Ký hiệu phím Phím tắt Chức
↑ 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ự
(8)Giáo trình Matlab bản Thái Duy Quý
Trang
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 Xố dịng
del Ctrl‐D Xố kí tự tại chỗcon nháy đứng backspace Ctrl‐H Xố kí tựtrước chỗcon nháy đứng
6. Các toán tử cơ bản của Matlab:
Các toán tửcơ bản:
+ Cộng ‐ 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ác toán tử quan hệ :
< nhỏhơn <= nhỏhơn hay bằng
> lớn hơn >= lớn hoặc bằng
== bằng ~= khơng bằng
Các tố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 21023
inf vô lớn NaN Not a number
(9)Giáo trình Matlab bản Thái Duy Quý
Trang
Lệnh Chức
Clear Xóa tất cả biến bộ nhớ Matlab clc Lệnh xóa cửa sổ lệnh (command window)
pause Chờ sựđáp ứng từphía người dùng
= Lệnh gán
% Câu lệnh sau dấu được xem dịng thích input Lệnh lấy vào một giá trị
Ví dụ: x = input(‘Nhap gia tri cho x:’); help lệnh yêu cầu sựgiúp đở từ Matlab
Save Lưu biến vào bộ 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 bộ nhớ Ví dụ: Load test
Các lệnh điều khiển bản:
Lệnh Cú pháp/ Chức
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
(10)
Giáo trình Matlab bản Thái Duy Quý
Trang 10
statement, , statement END
Lệnh lặp For FOR variable = expr, statement, , statement END Lệnh lặp While WHILE expression
statements END
Break Thoát đột ngột khỏi vòng lặp WHILE hay FOR
Continue Bỏ qua lệnh hiện tại, tiếp tục thực hiện vòng lặp ở
lần lặp tiếp theo
Return lệnh trả về
Một số lệnh đồ thị:
Lệnh Chức
clf xóa hình hiện tại
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 dữ liệu rời rạc
bar(signal) vẽ dữ 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 sẽđược làm rõ các chương tiếp theo
7. Kết chương