[r]
(1)(2)Giới thiệu GIỚI THIỆU
Matlab phần mềm toán học hãng Mathworks để tính tốn
số có tính trực quan cao
Matlab đã qua nhiều phiên bản, giáo trình giới thiệu phiên 7.0
(release 14)
Matlab viết tắt Matrix Laboratory Matlab làm việc chủ yếu với ma
trận Ma trận cỡmxn bảng số chữ nhật gồm mxn sốđược xếp thành m hàng và n cột Trường hợp m=1 n=1 ma trận trở thành vectơ dịng cột; trường hợp m=n=1 ma trận trở thành đại lượng vơ hướng Nói chung,
Matlab làm việc với nhiều kiểu liệu khác Với xâu chữ (chuỗi ký
tự) Matlab xem dãy ký tự dãy mã số ký tự
Matlab dùng để giải toán giải tích số, xử lý tín hiệu số, xử lý đồ họa, … mà khơng phải lập trình cổđiển
Hiện nay, Matlab có đến hàng ngàn lệnh hàm tiện ích Ngồi hàm cài sẵn ngơn ngữ, Matlab cịn có lệnh hàm ứng dụng chuyên biệt trong Toolbox, để mở rộng mơi trường Matlabnhằm giải tốn thuộc phạm trù riêng Các Toolbox quan trọng tiện ích cho người dùng như tốn sơ cấp, xử lý tín hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa, logic mờ,…
Người dùng tạo nên hàm phục vụ cho chun mơn mình, lưu vào tệp M-fileđể dùng sau
Cần tính tốn cơng thức dùng Toolbox SYMBOLIC Để có được f=’cos(x)’ bằng cách lấy đạo hàm g=’sin(x)’ dùng lệnh
f=diff(‘sin(x)’) Ngược lại để có g tích phân bất định f dùng lệnh
g=int(f)
Matlab cịn có giao diện đồ họa đẹp mắt dể sử dụng Người dùng có
thể tính tốn tạo nên hình ảnh đồ họa 2, chiều cho trình ứng dụng mình Với hình ảnh, khơng chỉ định vè canh trục, phối màu Matlab
thực tựđộng cách phù hợp
Vì tính mạnh mẽ để trợ giúp giải nhanh toán kỹ thuật, cố gắng biên soạn tài liệu để phục vụ kiến thức cho bạn đọc Tuy nhiên, sở đó bạn đọc tự khai thác thêm thành phần dùng riêng cho minh Toolbox Simulink
Lần đầu xuất nên tránh khỏi thiếu sót Rất mong ý kiến đóng góp quý báu bạn đọc
(3)Giới thiệu Hướng dẫn cài đặt MATLAB 7.0
(4)Giới thiệu
Ấn nút Next để tiếp tục
(5)Giới thiệu
Bạn gọi chương trình My Computer để mởđĩa CD chạy chương trình
\crack\keygen.exeđể phát sinh mã mật
(6)Giới thiệu
Quay lại cửa sổ cài đặt
Vào ô (PLP) ấn Ctrl+V để dán mã mật vào
(7)Giới thiệu
Đánh dấu Yesđể đồng ý quyền, ấn nút Nextđể tiếp tục
(8)Giới thiệu
Ấn nút Nextđể tiếp tục
(9)Giới thiệu
Ấn nút Nextđể tiếp tục
(10)Giới thiệu
Xem hướng dẫn cài thêm sau Ấn nút Nextđể tiếp tục
(11)Giới thiệu 10
(12)Chương 1. Các khái niệm bản 11
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
MATLAB chỉ làm việc chủ yếu với loại đối tượng ma trận số
số phức Trong trường hợp đặc biệt, ma trận cấp 1 vơ hướng, ma trận dịng ma trận cột vectơ
Hãy bắt đầu với cách nhập ma trận cho MATLAB.
1.1. Nhập ma trận đơn giản
Ma trận nhập cho MATLAB nhiều cách: - Nhập danh sách rõ ràng phần tử
- Phát sinh lệnh hàm gắn liền - Tạo từ siêu tệp (M-file)
- Nạp từ tệp liệu bên ngồi
Ngơn ngữMATLAB khơng chứa lệnh khai báo kích thước khai báo kiểu Việc lưu trữ tựđộng
Cách dễ việc nhập ma trận nhập danh sách rõ ràng phần tử Danh sách phần tử cách ký tự trống dấu phẩy, đặt cặp ngoặc vuông, [ và ], dùng dấu chấm phẩy( ; ) để biểu kết thúc dịng Ví dụ, nhập lệnh
A = [ 3; 6; ]
kết xuất
A =
Ma trận Ađược lưu để sử dụng sau
Ma trận lớn tách thành nhiều dòng, sang dòng thay cho dấu chấm phẩy Mặc dù cần ma trận kích thước này, ma trận
tách thành 3 dòng nhập sau
(13)Chương 1. Các khái niệm bản 12
Các ma trận nhập từ tệp với tên mở rộng ".m" Nếu tệp có tên
gena.m chứa ba dòng văn
A = [ ]
thì lệnh genađọc tệp phát sinh ma trận A
Lệnh load đọc ma trận phát sinh từ phần khác trước
MATLAB ma trận dạng ASCII xuất từ chương trình khác Sẽ biết
thêm sau
1.2. Các phần tử của ma trận
Các phần tử ma trận biểu thức MATLAB bất kỳ; ví dụ, lệnh
x = [ -1.3 sqrt(3) (1+2+3)*4/5 ]
kết
x =
-1.3000 1.7321 4.8000
Các phần tử riêng biệt ma trận có thểđược tham chiếu với số bên cặp ngoặc đơn, ( và ) Tiếp ví dụ trên, lệnh
x(5) = abs(x(1))
cho
x =
-1.3000 1.7321 4.8000 0.0000 1.3000
Lưu ý kích thước x tự động tăng để phù hợp với phần tử
mới, phần tử khoảng không xác định đặt giá trịkhông
Ma trận lớn xây dựng cách dùng ma trận nhỏ phần tử Ví dụ, có thểđưa thêm dòng khác vào ma trận A với lệnh
r = [ 10 11 12 ]; A = [ A ; r ]
kết
A =
(14)Chương 1. Các khái niệm bản 13
Các ma trận nhỏ có thểđược trích từ ma trận lớn cách dùng dấu hai chấm, : Ví dụ, lệnh
A = A(1:3,:);
lấy ba dòng đầu tất cột ma trận A thời để đưa ma trận A giá trị ban đầu Sẽ biết thêm dấu hai chấm sau
1.3. Câu lệnh biến
MATLAB ngôn ngữ biểu thức Các biểu thức đánh vào người
dùng, thông dịch ước lượng hệ MATLAB. Các lệnh MATLAB thường có dạng:
variable = expression
hoặc đơn giản
expression
variable: tên biến,
expression: biểu thức
Các biểu thức cấu thành từ toán tử ký tự đặc biệt khác, từ hàm, từ tên biến Việc ước lượng biểu thức cho ma trận, sau hiển thị hình gán vào biến để sử dụng sau Nếu tên biến dấu = bị
bỏ qua biến có tên ans, viết tắt chữ "answer" ( trả lời ), tự động tạo Ví dụ, đánh vào
1900/81
cho ans =
23.4568
Một câu lệnh kết thúc bình thường với ký tự sang dịng hay phím
<Enter> Tuy nhiên, ký tự cuối câu lệnh dấu chấm phẩy việc
in kết quảđược hủy, lệnh thực Điều hữu ích siêu tệp M-file ( biết thêm sau này) trường hợp kết quảđủ lớn không cần quan tâm số Ví dụ, lệnh
(15)Chương 1. Các khái niệm bản 14
Nếu biểu thức phức tạp để câu lệnh không thểđặt gọn dịng dùng dấu tĩnh lược ( ) ký tự sang dòng để biểu câu lệnh tiếp tục dịng Ví dụ
s = - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + 1/9 - 1/10 + 1/11 - 1/12;
tính tổng riêng chuỗi điều hòa, gán tổng vào biến s, khơng in Các ký tự trống quanh dấu +, - tùy chọn đưa vào để dễđọc
Các tên biến, tên hàm định dạng chữ viết, số bất
kỳ chữ viết chữ số ( dấu nối ) Chỉ có 19 ký tựđầu nhớ
MATLAB ngôn ngữ nhạy cảm; thường phân biệt chữ hoa/chữ thường,
bởi a A tên biến Tất tên hàm phải chữ thường; lệnh inv(A) lấy ngịch đảo ma trận A, lệnh INV(A) tham chiếu đến hàm không định nghĩa: Tuy nhiên, lệnh casesen làm cho
MATLAB không phân biệt chữ hoa/chữ thường Trong chếđộ INV(a) lấy
ma trận đảo
1.4. Cách lấy thông tin vùng làm việc
Các lệnh ví dụ tạo biến lưu vùng làm việc MATLAB. Thực lệnh
who
liệt kê biến vùng làm việc:
your variables are:
A ans p r s x
leaving 291636 bytes of memory free
ởđây trình bày 6 biến phát sinh ví dụ, kể biến ans.Để biết thêm chi tiết kích thước biến thời, dùng lệnh whos, với ví dụ, cho
Name size total Complex
A by No
ans by No
p by No
(16)Chương 1. Các khái niệm bản 15
Grand total is (24*8) = 192 bytes, leaving 291636 bytes of memory free
Mỗi phần tử ma trận thực đòi hỏi 8 byte nhớ, ma trận A cấp 3
dùng 72 byte tất biến dùng tổng cọng 192 byte Tổng số không gian
nhớ tự lại phụ thuộc vào loại máy khác
Biến ans với biến khơng liệt kê eps có ý nghĩa đặc biệt với
MATLAB. Chúng biến cốđịnh khơng thể xóa
Biến eps (epsilon) dùng để xác định giá trị gần kỳ dị (suy biến) hạng ma trận Giá trị khởi tạo khoảng cách từ 1.0 đến số thập phân lớn Đối với kỹ thuật số học IEEE (Institute of Electrical and Electronic
Engineers) dùng máy cá nhân máy trạm,
eps = 2-52
khoảng 2.22 x 10-16 eps có thểđược đặt lại với giá trị khác, kể giá trị0
1.5. Số biểu thức số
Các số dùng ký pháp thập phân qui ước với dấu chấm dấu trừđứng trước tùy chọn Có thểđưa vào cuối dạng khoa học ( lũy thừa 10 ) Sau vài ví dụ
về số hợp pháp:
3 -99 0.0001
9.6397238 1.6040E-10 6.022252e23
Trên máy dùng kỹ thuật số học chấm động IEEE thì độ xác tương
đối số eps, khoảng 16 chữ số có nghĩa Miền giá trị khoảng 10-308 đến
10308
Các biểu thức có thểđược tạo cách dùng phép tốn số học thơng thường qui tắc ưu tiên:
+ cộng
- trừ
* nhân
(17)Chương 1. Các khái niệm bản 16
Các phép toán ma trận tiện có hai ký hiệu cho phép chia Các biểu thức vô hướng 1/4 4\1 có giá trị số, 0.25 Các cặp ngoặc đơn
được dùng theo cách thông thường để xen vào việc ưu tiên phép toán số
học
Hầu hết hàm toán sơ cấp thơng thường tính tốn khoa học
hàm cài sẵn MATLAB, abs, sqrt, log, sin, Có thể thêm vào hàm cách dễ dàng với siêu tệp M-file.Phần sau có danh sách đầy
đủ hàm
Một số hàm cài sẵn đơn giản trả giá trị đặc biệt thường dùng Hàm
pi trả sốπ, chương trình tính trước, 4*atan(1) Một cách gọi khác để phát sinh sốπ
imag(log(-1))
Hàm inf, viết tắt chữinfinity ( vô định ), thấy hệ tính tốn ngơn ngữ lập trình Trên số máy, tạo kỹ thuật số học IEEE cài bộđồng xử lý toán học (coprocessor) Trên máy khác, phần mềm chấm
động đưa vào để mơ đồng xử lý tốn học Một cách để phát sinh giá trị trả hàm inf
s = 1/0
kết s = ∞
Warning: Divide by zero
Trên máy với kỹ thuật số học IEEE, việc chia cho số không không dẫn đến
điều kiện lỗi kết thúc hoạt động Cho thông báo khuyến cáo giá trịđặc biệt xử lý việc tính tốn sau
Biến NaN số IEEE quan hệ với hàm inf, có đặc tính khác Nó viết tắt chữ "Not a Number" ( số ) cho việc tính tốn inf/inf 0/0
1.6. Số phức ma trận phức
Số phức dùng tất phép toán hàm MATLAB. Số
phức nhập hàm đặc biệt i j Vài người dùng
(18)Chương 1. Các khái niệm bản 17
z = + 4*j
Một ví dụ khác
w = r*exp(i*theta)
Có hai cách thuận tiện để nhập ma trận phức Chúng minh họa lệnh
A = [ 2; ] + i*[ 6; ]
và
A = [ 1+5*i 2+6*i; 3+7*i 4+8*i ]
cho kết Khi số phức nhập phần tử ma trận bên cặp ngoặc vng, điều quan trọng tránh khoảng trống, biểu
thức 1 + 5*i với ký tự trống quanh dấu + biểu hai số riêng biệt
( Giống cho số thực; ký tự trống trước phần mũ 1.23 e-4 gây lỗi )
Tên hàm cài sẵn dùng tên biến; trường hợp hàm gốc trở
nên không dùng bên vùng làm việc thời (hoặc hàm M-file cục ) biến bị xóa Nếu dùng i j tên biến, đè lên giá trị này, đơn vị phức phát sinh sử dụng theo cách thông thường:
ii = sqrt(-1) z = + 4*ii
1.7. Dạng thức xuất
Kết lệnh gán MATLABđược hiển thị hình, gán cho biến định cho ans không cho biến Dạng thức hiển thị số có thểđiều
khiển lệnh format Lệnh format ảnh hưởng đến cách hiển thị ma trận
chứ khơng ảnh hưởng đến việc tính tốn lưu chúng ( MATLAB thực tất
các tính tốn theo độ xác kép "double" )
Nếu tất phần tử ma trận số nguyên ma trận hiển thị
theo dạng khơng có phần thập phân Ví dụ,
(19)Chương 1. Các khái niệm bản 18
Nếu phần tử ma trận khơng số ngun có số cách hiển thị Dạng ngầm định, gọi dạng short, trình bày khoảng 5 chữ số có nghĩa Các dạng khác trình bày nhiều chữ số dùng dạng khoa học Ví dụ,
giả sử
x = [ 4/3 1.2345e-6 ]
Các dạng thức, kết xuất cho vectơ này, là:
Dạng thức short
1.3333 0.0000
Dạng thức short e
1.3333E+000 1.2345E-006
Dạng thức long
1.333333333333338 0.000001234500000
Dạng thức long e
1.333333333333338E+000 1.234500000000003E-006
Dạng thức hex
3FF555555555555 3EB4B6231AFBD271
Dạng thức +
+ +
Đối với dạng long chữ số cuối xuất không đúng, việc xuất biểu độ xác số nhị phân lưu máy
Với dạng short long, phần tử lớn ma trận lớn 1000
hoặc nhỏ 0.001 thừa số chung áp dụng cho toàn ma trận
hiển thị Ví dụ, lệnh
x = 1.e20*x
nhân x cho 1020 kết hiển thị
x =
1.0E+020 *
(20)Chương 1. Các khái niệm bản 19
Lệnh cuối cùng, format compact, bỏ nhiều ký tự sang dòng xuất hiển thị ma trận cho phép nhiều thông tin hình
1.8. Cơng cụ trợ giúp
Công cụ trợ giúp cung cấp thông tin trực tiếp hầu hết vấn đề
MATLAB.Để xem danh sách vấn đề trợ giúp, đánh vào lệnh
help
Để lấy vấn đề định, đánh vào help topic.( topic vấn đề cần trợ
giúp ) Ví dụ, lệnh
help eig
cung cấp thông tin cách sử dụng hàm giá trị riêng,
help [
trình bày cách dùng dấu ngoặc vuông để nhập ma trận,
help help
là tham khảo nó, làm việc tốt đẹp
1.9. Thoát lưu vùng làm việc
Để thoát MATLAB,đánh vào lệnh quit exit Việc kết thúc trình làm
việc MATLAB làm cho biến vùng làm việc bị Trước thốt,
vùng làm việc có thểđược lưu lại để dùng sau cách đánh vào lệnh
save
Lệnh lưu tất biến vào tệp có tên matlab.mat Khi gọi MATLAB
lần sau, vùng làm việc có thểđược phục hồi từ tệp matlab.mat lệnh
load
Các lệnh save load dùng với tên tệp khác, lưu biến
đã chọn Lệnh save temp lưu biến thời vào tệp có tên temp.mat Lệnh