










Preview text:
2. NHỮNG TÍNH NĂNG CƠ BẢN CỦA MATLAB
- Cửa sổ câu lệnh (Command window): nơi tương tác với MATLAB
- Lời nhắc (prompt >>): nơi nhập vào câu lệnh
2.1. TOÁN HỌC ĐƠN GIẢN
Bài toán: An đến hiệu sách mua 4 cục tẩy giá 25k/cục, 6 miếng mút giá 22k/miếng
và 2 cuộn băng với giá 99k. Hỏi An mua bao nhiêu món đồ và hết bao nhiêu tiền? Lời giải 1 >> 4 + 6 + 2 ans = 12 >> 4*25+6*22+2*99 ans = 430 Lời giải 2
Bài toán có thể giải bằng cách lưu trữ thông tin trong các biến MATLAB (MATLAB variables) >> erasers=4 erasers = 4 >> pads = 6 pads = 6 >> tape = 2;
>> items = erasers+pads+tape items = 12
>>cost=erasers*25+pads*22+tape*99 cost = 430 Nhận xét:
- các biến, hàm được tạo thêm là: erasers, pads, tape, items, cost
- dấu chấm phẩy (;) ra lệnh cho MATLAB tiến hành tất cả các thao tác cần thiết
(lưu trữu, tính toán, …) nhưng không viết ra thông báo kết quả
MATLAB ghi nhớ tất cả các biến, về sau có thể sử dụng các biến này. Ta tính giá
trung bình của mỗi món hàng
>>average_cost = cost/items average_cost = 35.8333
(tên biến trong MATLAB chỉ gồm một từ, nên ta dùng dấu gạch dưới để liên kết nhiều từ lại với nhau)
Các phép toán cơ bản trong MATLAB gồm: +, – , *, / (hoặc \) , ^ và tuân theo các
ưu tiên thứ tự tính toán
2.2. KHÔNG GIAN LÀM VIỆC CỦA MATLAB (MATLAB WORKSPACE)
- MATLAB ghi nhớ các câu lệnh và tất cả các thông tin liên quan tới biến. Những
câu lệnh này và các biến được lưu trữ trong MATLAB
workspace và có thể gọi tới
bất kì khi nào cần thiết. Ví dụ để kiểm tra giá trị của biến tape ta chỉ cần gọi tên của nó >>tape tape = 2
- Nếu không nhớ tên biến, MATLAB giúp gọi ra danh sách các biến bằng câu lệnh who >> who Your variables are: ans average_cost tape items erasers pads cost
- Để tìm các câu lệnh phía trước ta dùng dấu trỏ bàn phím → ↓↑← tại dấu nhắc >>
2.3. LƯU VÀ TRUY XUẤT DỮ LIỆU (SAVING AND RETRIEVING DATA)
- Có thể sử dụng các câu lệnh tương ứng trong thực đơn File (File menu): Save Workspace As Load Workspace …, …
- Một cách linh hoạt hơn là nhập lệnh trực tiếp vào cửa sổ lệnh >> save
Câu lệnh này lưu trữ toàn bộ phần lệnh phía trước vào tệp matlab.mat >> save data
Câu lệnh này lưu trữ toàn bộ phần lệnh phía trước vào tệp data.mat >> save data1 erasers
Câu lệnh này chỉ lưu trữ biến erasers vào tệp data1.mat 2.4. ĐỊNH DANG SỐ
- Theo mặc định nếu là số thập phân MATLAB biểu diễn 4 chữ số sau dấu thập phân
- Để thay đổi định dạng số có thể sử dụng mục Numerical Format trong menu
Options hoặc nhập câu lệnh tại dấu nhắc
Ví dụ muốn định dạng biểu diễn của average_cost >> format long >> average_cost average_cost = 35.83333333333334
(biểu diễn dạng 16 chữ số)
Tương tự ta có các dạng sau
format short e: 5 chữ số và số mũ (3.5833e+01)
format long e: 16 chữ số và số mũ (3.583333333333334e+01)
format +: cho ra kết quả +, – hoặc 0 tùy thuộc vào giá trị (+)
format rat: cho ra phân số (215/6)
format short: mặc định (35.8333) ……
2.5. CÁC BIẾN SỐ (VARIABLES)
Quy tắc đặt tên biến - Một từ
- Phân biệt chữ thường và chữ hoa - Không quá 19 kí tự
- Bắt đầu bằng chữ cái, có thể chứa: chữ số, dấu gạch dưới (_)
- Không trùng với các biến mặc định:
ans (tên mặc định cho kết quả phép toán), pi (số pi), eps (số nhỏ), flops (đếm
số phép toán dấu phấy động), inf (vô cùng), NaN (không phải số Not-a-
Number, ví dụ: 0/0), i hoặc j (số phức i = j = √−1 ), nargin (số lượng đối số
đầu vào của hàm được sử dụng), nargout (số lượng đối số đầu ra của hàm
được sử dụng), realmax và realmin (số thực khả dụng lớn nhất và nhỏ nhất)
Không giống như bảng tính (spreadsheet) MATLAB không tính lại một phép toán
dựa trên giá trị mới được định nghĩa lại của biến. Do vậy cần phải tính toán lại. Ví
dụ nếu muốn đổi thành 6 cục tẩy thay vì 4 ở ví dụ trên, và tính lại số mặt hàng và
giá ta cần phải xóa các giá trị cũ bằng lệnh clear (cẩn
thận khi dùng lệnh này vì
không thể phục hồi những thứ đã xóa)
>> clear erasers (xóa biến erasers)
>> clear cost items (xóa biến cost và items)
>> clear (xóa tất cả các biến trong workspace)
2.6. BÌNH LUẬN VÀ DẤU CHẤM CÂU (COMMENTS AND PUNCTUATION)
- Văn bản sau dấu phần trăm % được coi như là lời ghi chú hoặc nhận xét,
MATLAB bỏ qua toàn bộ văn bản bắt đầu từ dấu % và sau nó >> erasers = 4 % số cục tẩy erasers = 4
- Nhiều câu lệnh có thể được viết trên cùng một hàng, ngăn cách nhau bằng dấu
phẩy (,) hoặc dấu chấm phẩy (;). Với dấu phẩy MATLAB in ra kết quả, với dấu
chấm phẩy thì không in kết quả
>> erasers=4, pads = 6, tape=2; erasers = 4 pads = 6
- Sử dụng dấu 3 chấm (…) giữa các tên biến hoặc phép toán để biểu diển phần còn
lại của một phát biểu sẽ nằm ở hàng tiếp theo >> average_cost=cost/… items average_cost = 35.8333
- Có thể dừng chạy MATLAB bằng tổ hợp: Ctrl+C
2.7. SỐ PHỨC (COMPLEX NUMBERS) >> c1 = 6 + sin(0.5)*j c1 = 6+0.4794i
MATLAB không yêu cầu bất kì xử lý đặc biệt nào cho số phức. Các phép toán
được viết theo cách thông thường, các kết quả được đưa ra ở dạng đại số của số phức (dạng a + bi)
- Công thức Euler biểu diễn mối liên hệ giữa dạng cực của số phức (bao gồm độ
dài M- magnitude và góc quay θ – angle) với dạng đại số (a + bi) như sau
Mejθ=a+ bi=M cos θ+ M sinθ i Trong đó
M=√ a2+b2, θ=arctan(b /a ), a=M cos θ , b=M sinθ . Trong
MATLAB sự chuyển đổi giữa dạng cực và dạng đại số của số phức được thực hiện
bởi các hàm: real, imag, abs, angle (phần thực, phần ảo, độ dài, góc quay) >>c1=1 – 2i; >>abs(c1) ans = 2.2361 >> real(c1) ans = 1
2.8. CÁC HÀM TOÁN HỌC (MATHEMATICAL FUNCTIONS)
Một số hàm toán học cơ bản 1. abs(x)
Giá trị tuyệt đối hoặc độ lớn của số phức 2. acos(x) Hàm cos ngược của x 3. asin(x) Hàm sin ngược của x 4. acosh(x)
Hàm hypebol cos ngược của x 5. asinh(x)
Hàm hypebol sin ngược của x 6. atan(x) Hàm tan ngược của x 7. ceil(x)
Hàm làm tròn lên + vô cùng dương (hàm phần nguyên
nhỏ nhất: cho số nguyên nhỏ nhất không nhỏ hơn x) 8. floor(x)
Hàm làm tròn xuống + vô cùng âm (hàm phần nguyên
lớn nhất: cho số nguyên lớn nhất không vượt quá x) 9. cosh(x) Hàm hyperbol cos 10. exp(x) Hàm ex 11. fix(x)
Làm tròn tới 0 (nếu là số dương làm tròn xuống, nếu là số âm làm tròn lên) 12. gcd(x,y)
Bội chung lớn nhất của x và y (greatest common divisor) 13. lcm(x,y)
Ước chung nhỏ nhất (least common multiple) 14. log(x) Logarit tự nhiên (lnx) 15. log10(x)
Logarit chung (logarit cơ số 10) 16. rem(x,y)
Phần dư của phép chia x cho y (remainder) 17. sign(x) Hàm dấu của x 18. sqrt(x) Hàm căn bậc 2 của x 19. tan(x) Hàm tangent của x 20. tanh(x) Hàm hyperbol tan Nhắc lại: −x − x sinh ( x ) − x
sinh ( x )=e x−e
cosh (x )= ex+ e , tanh( x )= = e x−e 2 2 cosh ( x ) ex+e−x
asinh( x )=ln( x +√ 1+ x2), acosh ( x )=ln(1+√ x2−1)
2.9. CÁC TỆP BẢN THẢO (SCRIPT FILES)
- Từ các file script (còn được gọi là M-file) có phần đuôi là .m (example1.m)
MAPLE đọc từ các script được lấy ra từ trong file.
- Để tạo M-file, chọn New từ thực đơn File và chọn M-file (hoặc chọn new script trên thanh công cụ) Ví dụ: erasers=4; pads=6; tape=2; items=erasers+pads+tape
cost= erasers*25+pads*22+tape*99 average_cost=cost/items
Lưu file là example1.m. MATLAB sẽ thực thi các câu lệnh trong example1.m nếu
gõ example1 tại dấu nhắc >> example1 items = 12 cost = 430 average_cost = 35.8333
Khi MATLAB diễn giải (biên dịch) một file script nó sẽ tuân theo một hệ thống
phân cấp nhất định. MATLAB ưu tiên các biến của nó và các câu lệnh có sẵn của
nó. Thông thường các câu lệnh được đọc từ M-file sẽ không được hiển thị như là
chúng được viết trong file script.
Một số hàm hữu dụng đối với file script 1. disp(ans)
Viết ra kết quả mà không có tên của nó 2. echo on/off
Hiển thị/tắt các lệnh trong script file 3. input
Nhập dữ liệu đầu vào từ màn hình 4. keyboard
Điều khiển bàn phím tạm thời (thoát bấm return) 5. pause
Dừng cho đến khi bấm 1 phím bất kì 6. pause(n) Dừng n giây 7. waitforbuttonpress
Dừng cho đến khi bấm chuột hoặc phím
- Công dụng của file script
Mở file, thay đổi các giá trị của biến, lưu lại. Khi đó MATLAB tính toán lại
các câu lệnh và cho ra kết quả trong cửa số lệnh (Commands window)
Làm việc với các mảng cỡ lớn, có thể chỉnh sửa một số lỗi trong mảng
Ví dụ làm việc với mảng, thay đổi các dữ kiện đầu vào
Ví dụ 1. Mở file example1.m sửa thành
erasers= input(‘Số cục tẩy cần mua là:’); pads=6; tape=2; items=erasers+pads+tape
cost= erasers*25+pads*22+tape*99 average_cost=cost/items
Lưu lại và gọi file script này trong Commands window >> example1
Số cục tẩy cần mua là: (nhập vào số cục tẩy) 5 (gõ Enter)
Ví dụ 2. Sử dụng lệnh Keyboard
Mở file example1.m sửa thành
Lưu lại và gọi file này trong command window >> example1 K>> tape = 7 tape = 7 K>> who Your variables are: erasers pads tape K>> return items = 17 cost = 925 average_cost = 54.4118
2.10. Quản lý tập tin (FILE MANAGEMENT)
- MATLAB cung cấp một số câu lệnh quản lý tập tin cho phép: lên danh sách các
tên file, xem và xóa các file script, đưa ra và thay đổi thư mục hiện tại, xem và hiệu
chỉnh đường dẫn tìm kiếm của MATLAB. - Một số hàm quản lý 1. cd
Hiện ra thư mục hiện tại đang làm việc 2. cd path
Chuyển đến thư mục được chỉ dẫn bởi path 3. delete test Xóa file bản thảo test.m 4. dir
Đưa ra danh sách tất cả các file trong thư mục hiện tại 5. path
Hiển thị hoặc hiệu chỉnh đường dẫn tìm kiếm của MATLAB 6. type test
Hiển thị file bản thảo test.m trong Command window 7. what
Trả lại danh sách các M-files và MAT-files trong thư mục hiện tại 8. which test
Hiển thị đường dẫn tới test.m
2.11. Điều khiển cửa sổ câu lệnh (COMMAND WINDOW CONTROL) 1. clc Làm sạch Command window 2. diary
Lưu văn bản của Command window vào một tệp 3. home
Đưa con trỏ về góc trên cùng bên trái 4. more Thêm trang Command window
Câu lệnh more giữ cho cửa sổ câu lệnh không cuộn văn bản ra ngoải tầm nhìn