Tài liệu Matlab
TÀI LIỆU MATLAB
2014
Lời mở đầu
MATLAB là phần mềm cung cấp môi trường tính toán số và lập trình, do công ty MathWorks
thiết kế. MATLAB cho phép tính số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thục hiện thuật
toán, tạo các giao diện người dùng và liên kết với những chương trình máy tinh viết trên nhiều ngôn ngữ
lập trình khác. Với công cụ Toolbox, MATLAB cho phép mô phỏng tính toán, thực nghiệm nhiều mô
hình trong thực tế và kĩ thuật.
Với Trường đại học Bách Khoa, Matlab được coi như là một trợ thủ đắc lực phục vụ cho cả giảng
viên và sinh viên trong quá trình học tập và thực hành các môn học đại cương.
Thế nhưng các bạn sinh viên Bách Khoa vẫn còn khá bỡ ngỡ với bộ công cụ toàn năng này, có vẻ
như việc thao tác trong môi trường lập trình với rất nhiều câu lệnh phức tạp gây cảm giác khó khăn trong
tâm lí sinh viên.
Vớir triết lí: “Chinh phục bất cứ khó khăn nào luôn đem lại cho người ta một niềm vui sướng
thầm lặng, bởi điều đó cũng có nghĩa là đẩy lùi được một đường ranh giới và tăng thêm tự do của bản
thân”, cuốn “Tài liệu MATLAB” ra đời được tổng hợp từ các bài tập và cách giải đơn giản nhưng mang
đến sự hiệu quả thú vị đến bất ngờ mà ban quản trị chương trình “Chúng ta cùng tiến” biên tập lại từ
nhiều nguồn để giúp các bạn có thể nắm bắt kiến thức hiệu quả hơn.
Cuốn sách được chia làm 4 phần:
1. Những lệnh cơ bản.
2. Matlab trong Giải tích.
3. Matlab trong Đại số.
4. Một số chương trình tham khảo.
Với cấu trúc này người đọc sẽ có cái nhìn cơ bản về MATLAB, cùng với những câu lệnh thường
dùng trong nhà trường ở những môn riêng biệt như Giải tích, Đại số.
Mỗi bước đi để dẫn đến thành công trong bất kì lĩnh vực nào của cuộc sống cũng luôn gắn kết với
sự đam mê, tìm tòi, học hỏi và chắt lọc kinh nghiệm. Vì thế qua tài liệu này hi vọng các bạn sẽ tìm được
cho mình những điều cần thiết nhất cho hướng giải quyết các bài tập lớn.
Mặc dù đã có sự cố gắng tập trung cao độ trong việc biên tập nhưng chắc chắn không thể không
có sai sót, mong các bạn đọc thông cảm và gửi những phê bình góp ý của mình về tài liệu để ban biên tập
có thêm những ý kiến quý báu để hoàn thiện tập tài liệu hơn.
Mọi chia sẻ của các bạn xin gửi về địa chỉ:
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 1
TÀI LIỆU MATLAB
2014
MỤC LỤC
Lời mở đầu...........................................................................................................................1
MỤC LỤC ...........................................................................................................................2
I. LỆNH CƠ BẢN.........................................................................................................3
1. Các toán tử số học (Arithmetic Operators):..............................................................8
2. Toán tử quan hệ (Relational Operators):.................................................................10
3. Toán tử logig (Logical Operators):.........................................................................12
4. Ký tự đặc biệt (Special Characters): .......................................................................13
Phần A: Các lệnh trong đại số........................................................................................29
Phần B. Các chương trình tham khảo............................................................................32
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 2
TÀI LIỆU MATLAB
2014
PHẦN 1: NHỮNG LỆNH CƠ BẢN VỀ MATLAB
I.
LỆNH CƠ BẢN
1. Lệnh ANS: Là biến chứa kết quả mặc định.
Khi thực hiện một lệnh nào đó mà chưa có biến chứa kết quả, thì MATLAB lấy biến
Ans làm biến chứa kết quả đó.
Ví dụ:
2-1
ans = 1
2. Lệnh CLOCK: Thông báo ngày giờ hiện tại.
Để thông báo dễ đọc ta dùng hàm fix.
Cú pháp:c = clock
Ví dụ:
c = clock
c =
1.0e+003*
2.00100.00400.02000.00300.04200.0501
c = fix(clock)
c = 2001
4
20
3
43 3
3. Lệnh COMPUTER: Cho biết hệ điều hành của máy vi tính đang sử dụng Matlab.
Cú pháp: computer
[c,m] = computer
c: chứa thông báo hệ điều hành của máy.
m: số phần tử của ma trận lớn nhất mà máy có thể làm việc được với Matlab.
Ví dụ:
[c,m]=computer
c =
PCWIN
m =
2.1475e+009
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 3
TÀI LIỆU MATLAB
2014
4. Lệnh DATE: Thông báo ngày tháng năm hiện tại
Cú pháp:
s = date
Ví dụ:
» s=date
s =
20-Apr-2001
5. Lệnh CLC: Xóa cửa sổ lệnh.
6. Lệnh CLEAR: Xóa các đề mục trong bộ nhớ.
clear: xóa tất cả các biến khỏi vùng làm việc.
clear name: xóa các biến hay hàm được chỉ ra trong name.
clear functions: xóa tất cả các hàm trong bộ nhơ.
clear variables: xóa tất cả các biến ra khỏi bộ nhớ.
clear mex: xóa tất cả các tập tin .mex ra khỏi bộ nhớ.
clear: xóa tất cả các biến chung.
clear all: xóa tất cả các biến, hàm, và các tập tin .mex khỏi bộ nhớ. Lệnh này làm cho bộ
nhớ trống hoàn toàn.
7. Lệnh DELETE: Xóa tập tin và đối tượng đồ họa.
Cú pháp:
delete filename
delete (n)
Giải thích:
file name: tên tập tin cần xóa.
n: biến chứa đối tượng đồ họa cần xóa. Nếu đối tượng là một cửa sổ thì cửa sổ sẽ
đóng lại và bị xóa.
8. Lệnh DEMO:Chạy chương trình mặc định của Matlab.
Cú pháp:
demo
Giải thích:
demo: là chương trình có sẵn trong trong Matlab, chương trình này minh họa một
số chức năng của Matlab.
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 4
TÀI LIỆU MATLAB
2014
9. Lệnh DIARY: Lưu vùng thành file trên đĩa.
Cú pháp:
diary filename
Giải thích:
filename: tên của tập tin.
10. Lệnh DIR: Liệt kê các tập tin và thư mục.
Cú pháp:
dir
dir name
Giải thích:
dir: liệt kê các tập tin và thư mục có trong thư mục hiện hành.
dir name: đường dẫn đến thư mục cần liệt kê.
11. lệnh DISP: Trình bày nội dung của biến (x) ra màn hình
Cú pháp:
disp (x)
x: là tên của ma trận hay là tên của biến chứa chuỗi ký tự, nếu trình bày trực tiếp chuỗi ký
tự thì chuỗi ký tự được đặt trong dấu ‘’
Ví dụ:
» num=('Matlab')
num =
Matlab
» disp(num)
Matlab
» num=[2 0 0 1]
num =
2
0
0
1
» disp(num)
2
0
0
1
» num='HOANG HUONG'
num =
HOANG HUONG
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 5
TÀI LIỆU MATLAB
2014
12. Lệnh ECHO: Hiển thị hay không hiển thị dòng lệnh đang thi hành trong file *.m.
Cú pháp:
echo on
echo off
Giải thích:
on: hiển thị dòng lệnh.
off: không hiển thị dòng lệnh.
13. Lệnh FORMAT: Định dạng kiểu hiển thị của các con số.
Cú pháp
Giải thích
Ví dụ
Format short
Hiển thị 4 con số 3.1416
sau dấu chấm
Format long
Format rat
Hiển thị 14 con số 3.14159265358979
sau dấu chấm
Hiển thị dạng 355/133
phân số của phần
nguyên nhỏ nhất
Format +
Hiển thị số dương +
hay âm
14. Lệnh HELP: hướng dẫn cách sử dụng các lệnh trong Matlab.
Cú pháp:
help
help topic
Giải thích:
help: hiển thị vắn tắt các mục hướng dẫn.
topic: tên lệnh cần được hướng dẫn.
15. Lệnh HOME: Đem con trỏ về đầu vùng làm việc.
16. Lệnh LENGTH: Tính chiều dài của vectơ.
Cú pháp:
l = length (x)
Giải thích:
l: biến chứa chiều dài vectơ.
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 6
TÀI LIỆU MATLAB
Ví dụ:
2014
tính chiều dài của vectơ x.
x = [0 1 2 3 4 5 6 7 8 9]
l = length (x)
l = 10
» x=[01 09 77,20 04 2001 ]
x =
1
9
77
20
4
2001
» l=length(x)
l =
6
17. Lệnh SIZE: Cho biết số dòng và số cột của một ma trận.
Cú pháp:
d = size (x)
[m,n] = size (x)
m = size (x,1)
n = size (x,2)
Giải thích:
x: tên ma trận.
d: tên vectơ có 2 phần tử, phần tử thứ nhất là số dòng, phần tử còn lại là số cột.
m,n: biến m chứa số dòng, biến n chứa số cột
Ví dụ:
ta có ma trận a
x =
1
5
2
6
3 4
8
6
» x=[1 2 3 4,5 6 7 8]
x =
1
2
3
4
5
6
7
8
Các bạn chú ý về cách nhập 1 ma trận:
» x=[1 2 3 4;5 6 7 8]
x =
1
2
3
4
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 7
TÀI LIỆU MATLAB
2014
5
6
7
8
» d=size(x)
d =
2
4
» m=size(x,1)
m =
2
>> n=size(x,2)
n =
4
» [m,n]=size(x)
m =
2
n =
4
II.
CÁC TOÁN TỬ VÀ KÝ TỰ ĐẶC BIÊT
1. Các toán tử số học (Arithmetic Operators):
Toán
tử
Công dụng
Cộng ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích
+
thước).
-
Trừ ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước).
*
Nhân ma trận hoặc đại lượng vô hướng (ma trận 1 phải có số cột bằng số
hàng của ma trận 2).
.*
\
Nhân từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng (các ma trận
phải có cùng kích thước).
Thực hiện chia ngược ma trận hoặc các đại lượng vô hướng (A\B tương
đương với inv (A)*B).
.\
Thực hiện chia ngược từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng
(các ma trận phải có cùng kích thước).
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 8
TÀI LIỆU MATLAB
2014
/
Thực hiện chia thuận 2 ma trận hoặc đại lượng vô hướng (A/B tương đương
với A*inv(B)).
./
^
Thực hiện chia thuận từng phần tử của ma trận này cho ma trận kia (các ma
trận phải có cùng kích thước).
Lũy thừa ma trận hoặc các đại lượng vô hướng.
.
^
Lũy thừa từng phần tử ma trận hoặc đại lượng vô hướng (các ma trận phải có
cùng kích thước).
* ví dụ:
Phép tính ma trận
Phép tính mảng
1
4
x
2
y
y’
5
3
6
x’
1 2 3
4 5 6
5
6
7
3
4
5
-3
x + y
x – y
-3
-3
-3
x + 2
x – 2
-3
-3
4
x * y
x’* y
x * y’
phép toán sai
x. * y
x’.* y
x. * y’
10
18
32
phép toán sai
4 5 6
8 10 12
phép toán sai
12 15 18
2
4
6
2
4
x * 2
x.* 2
x.\ y
6
4
x \ y
16/7
5/2
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 9
TÀI LIỆU MATLAB
2014
2
2
1/2
1
2 \ x
2./ x
1
3/2
2/3
0 0 1/6
0 0 1/3
0 0 1/2
1/2
1/4
2/5
1/2
1/2
1
x / y
x / 2
x./ y
x./ 2
x.^ y
x.^ 2
2.^ x
1
3/2
3/2
1/2
32
729
1
x ^ y
x ^ 2
2 ^ x
phép toán sai
phép toán sai
phép toán sai
4
9
2
4
8
2. Toán tử quan hệ (Relational Operators):
Toán tử
<
Công dụng
So sánh nhỏ hơn.
So sánh lớn hơn.
>
>=
So sánh lớn hơn hoặc bằng.
So sánh nhỏ hơn hoặc bằng.
<=
= =
-=
So sánh bằng nhau cả phần thực và phần ảo.
So sánh bằng nhau phần ảo.
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 10
TÀI LIỆU MATLAB
a) Giải thích:
2014
Các toán tử quan hệ thực hiện so sánh từng thành phần của 2 ma trận. Chúng tạo
ra một ma trận có cùng kích thước với 2 ma trận so sánh với các phần tử là 1 nếu phép so
sánh là đúng
và là 0 nếu phép so sánh là sai.
Phép so sánh có chế độ ưu tiên sau phép toán số học nhưng trên phép toán logic.
b) Ví dụ:
thực hiện phép so sánh sau:
» x=5
% đầu tiên ta nhập x=5
x =
5
» x>=[1 2 3;4 5 6;7 8 9] %so sánh trực tiếp x (x là 5) với ma trận
ans =
% rõ ràng các phầ tử 1,2,3,4,5 đều <= 5
1
1
1
1
0
1
0
0
0
» x=5
x =
5
» A=[1 2 3;4 5 6;7 8 9] % ta đặt ma trận A
A =
1
4
7
2
5
8
3
6
9
» x>=A
ans =
1
1
0
1
1
0
0
1
0
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 11
TÀI LIỆU MATLAB
2014
» x=A
% dòng lệnh này tức là cho x= ma trận A
x =
1
2
5
8
3
6
9
4
7
» x==A
ans =
% so sánh x và A
% tất cả các phần tử đều đúng
1
1
1
1
1
1
1
1
1
» x=5
x =
5
% cho lại x=5
» x==A % so sánh x = A
ans =
0
0
1
0
0
0
0
0
% chỉ duy nhất phần tử 5=x (vì x=5)
0
» x<A
ans =
0
0
0
1
0
1
1
0
1
3. Toán tử logig (Logical Operators):
Toán tử
Công dụng
&
Thực hiện phép toán logic AND.
Thực hiện phép toán logic OR.
Thực hiện phép toán logic NOT.
~
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 12
TÀI LIỆU MATLAB
a) Giải thích:
2014
Kết quả của phép toán là 1 nếu phép logic là đúng và là 0 nếu phép logic là sai.
Phép logic có chế độ ưu tiên thấp nhất so với phép toán số học và phép toán so
sánh.
b) Ví dụ:
Khi thực hiện phép toán 3>4 & 1+ thì máy tính sẽ thực hiện 1+2 được 3, sau đó tới
3>4 được 0 rồi thực hiện 0 & 3 và cuối cùng ta được kết qủa là 0.
4. Ký tự đặc biệt (Special Characters):
Ký hiệu
Công dụng
Khai báo vector hoặc ma trận.
[]
()
Thực hiện phép toán ưu tiên, khai báo các biến và các chỉ số
của vector.
=
‘
.
Thực hiện phép gán.
Chuyển vị ma trận tìm lượng liên hiệp của số phức.
Điểm chấm thập phân.
,
Phân biệt các phần tử của ma trận và các đối số trong dòng
lệnh.
;
%
!
Ngăn cách giữa các hàng khi khai báo ma trận.
Thông báo dòng chú thích.
Mở cửa sổ MS – DOS.
5. dấu ‘:’Tạo vector hoặc ma trận phụ và lặp đi lặp lại các giá trị.
a) Giải thích:
Khai báo
j : k
Công dụng
Tạo ra chuỗi j, j+1, j+2,…., k-1, k
Tạo ra chuỗi j, j+i, j+2I,….,k-i, k
j : i : k
A(: , j) Chỉ cột thứ j của ma trận A
A(i , :) Chỉ hàng thứ i của ma trận
A(: , :) Chỉ toàn bộ ma trận A
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 13
TÀI LIỆU MATLAB
2014
A(j , k) Chỉ phần tử A(j), A(j+1)…A(k)
A(: , j , k) Chỉ các phần tử A(:, j), A(:, j+1)…A(:, k)
A(:)
Chỉ tất cả các thành phần của ma trận A
b) Ví dụ:
khi khai báo D = 1 : 10
ta được kết quả:
D = 1 2 3 4 5 6 7 8 9 10
còn khi khai báo D = 0 : 2 :10
thì ta được kết quả:
D = 0 2 4 6 8 10
III. CÁC HÀM LOGIC (LOGICAL FUNCTION)
1. Lệnh ALL: Kiểm tra vector hay ma trận có giá trị 0 hay không.
Cú pháp:
y = all(x)
Giải thích:
y: biến chứa kết quả
x: tên vedtor hay ma trận
y = 1 khi tất cả các phần tử khác 0
y = 0 khi có 1 phần tử bằng 0
Ví dụ:
» a=[1 2 3]
a =
1
2
3
» y=all(a)
y =
1
» a=[1 0 3]
a =
1
0
3
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 14
TÀI LIỆU MATLAB
2014
» y=all(a)
y =
0
» a=[1 2 3;4 0 6;7 8 9]
a =
1
4
7
2
0
8
3
6
9
» y=all(a)
y =
1
0
1
» a=[1 2 0;0 3 5;2 6 8]
a =
1
0
2
2
3
6
0
5
8
» y=all(a)
y =
0
1
0
2. Lệnh ANY: Kiểm tra vector hay ma trận có giá trị khác 0 hay không.
Cú pháp:
y = any(x)
Giải thích:
y: biến chứa kết quả.
x: tên vector, hay ma trận.
y = 1 khi có 1 phần tử khác 0.
y = 0 khi có 1 phần tử bằng 0.
Ví dụ:
» a=[1 2 3];
» y=any(a)
y =
1
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 15
TÀI LIỆU MATLAB
2014
» b=[1 0 3 0];
» y=any(b)
y =
1
» c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 5 6]
c =
1
0
1
3
2
2
2
4
0
0
3
5
4
4
4
6
» y=any(c)
y =
1
1
1
1
» d=[0 0 0 0;0 1 3 0]
d =
0
0
0
1
0
3
0
0
» y=any(d)
y =
0
1
1
0
3. Lệnh EXIST: Kiểm tra biến hay file có tồn tại hay không.
Cú pháp:
e = exist(‘item’)
Giải thích:
item: là tên file hay tên biến.
e: biến chứa giá trị trả về.
e
0
1
2
Y nghĩa
item không tồn tại trong vùng làm việc
item là biến đang tồn tại trong vùng làm việc
item đang tồn tại trên đĩa (chỉ kiểm tra trong thư mục hiện
hành)
3
item là MEX-file
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 16
TÀI LIỆU MATLAB
2014
4
5
item là file được dịch từ phần mềm Simulink
item là hàm của Matlab
Ví dụ:
e = exist(‘dir’)
e = 5
4. Lệnh FIND:
Cú pháp:
Tìm phần tử trong vector hay ma trận theo yêu cầu.
k = find(x)
[i,j] = find(x)
[i,j,s] = find(x)
Giải thích:
k: chỉ vị trí của phần tử cần tìm trong vector.
i,j: chỉ số hàng và số cột tương ứng của phần tử cần tìm.
s: chứa giá trị của phần tử cần tìm.
x: tên vector, ma trận hay là yêu cầu đề ra. Nếu không nêu ra yêu cầu thì mặc
nhiên là tìm các phần tử khác 0.
Ví dụ:
» x=[1 8 0 2 3 0]
x =
1
8
0
2
3
0
» k=find(x)
k =
1
2
4
5
» k=[3 6]
k =
3
6
» a=[5 0 0;8 0 3]
a =
5
8
0
0
0
3
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 17
TÀI LIỆU MATLAB
2014
» [i,j,k]=find(a)
i =
1
2
2
j =
1
1
3
k =
5
8
3
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 18
TÀI LIỆU MATLAB
2014
IV. NHÓM LỆNH LẬP TRÌNH TRONG MATLAB
1. Lệnh EVAL: Chuyển đổi chuỗi ký tự thành biểu thức.
Cú pháp:
kq = eval(‘string’)
Giải thích:
kq: biến chứa kết quả.
Nếu ‘string’ là các ký số thì chuyển thành những con số.
Nếu ‘string’ là câu lệnh thì chuyển thành các lệnh thi hành được.
Ví dụ:
» a='199999999';
» eval(a)+1
ans =
200000000
2. Lệnh FOR: Dùng để thực hiện 1 công việc cần lặp đi lặp lại theo một quy luật, với số
bước lặp xác định trước.
Cú pháp:
for biến điều khiển = giá trị đầu : giá trị cuối,
thực hiện công việc;
end
Giải thích:
Công việc chính là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải
có dấu;
Ví dụ:
In ra màn hình 5 dòng ‘HOANG HUONG chao cac ban’.
for i = 1:5,
disp(‘HOANG HUONG chao cac ban’);
end
HOANG HUONG chao cac ban
HOANG HUONG chao cac ban
HOANG HUONG chao cac ban
HOANG HUONG chao cac ban
HOANG HUONG chao cac ban
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 19
TÀI LIỆU MATLAB
2014
3. Lệnh FUNCTION: Tạo thêm hàm mới.
Cú pháp:
function s = n(x)
Giải thích:
s: tên biến chứa giá trị trả về sau khi thi hành hàm.
n: tên gợi nhớ.
Ví dụ: ( ở phần lập trong M.file)
4. Lệnh INPUT: Dùng để nhập vào 1 giá trị.
Cú pháp:
tên biến = input (‘promt’)
tên biến = input (‘promt’, ‘s’)
Giải thích:
tên biến, là nơi lưu giá trị ngập vào.
‘promt’: chuỗi ký tự muốn nhập vào.
‘s’: cho biết giá trị nhập vào là nhiều ký tự.
Ví dụ1:
x = input(‘nhập giá trị của biến x: ’)
nhập giá trị của biến x: 5
x = 5
Ví dụ2:
trả_lời = input(‘bạn có muốn tiếp tục không ? ’,’s’)
bạn có muốn tiếp tục không ? không
trả_lời = không
5. Lệnh IF …ELSEIF …ELSE: Thực hiện lệnh khi thỏa điều kiện.
Cú pháp:
if biểu thức luận lý 1
thực hiện công việc 1;
elseif biểu thức luận lý 2
thực hiện công việc 2;
else
thực hiện công việc 3;
end
CHƯƠNG TRÌNH “CHÚNG TA CÙNG TIẾN”
Page 20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Matlab", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_matlab.docx

