I.
Các phép toán matlab cơ bản
VD1. Tính bằng tay các
biểu thức sau, rồi thử lại bằng Matlab:
a. 2 / 2 * 3
b. 6 – 2 / 5 + 7 ^ 2 – 1
c. 10 / 2 \ 5 – 3 + 2 * 4
d. 3 ^ 2 / 4
e. 3 ^ 2 ^ 2
VD2. Dự đoán kết quả xuất ra màn hình:
a. 2 ; 4
b. 2 / 4
c. 2 \ 4
VD 3. Cho x
= 2, y = 3. Dự đoán lần lượt các kết quả tiếp theo:
z = x
y = y +z
x
= y + x – z x + y – z
VD 4. Giải phương trình bậc hai sau bằng cách thực hiện
từng bước, sau đó kiểm tra với hàm trong Matlab
x2 -
3x + 2 =0; x2 - x + 2 =0
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).
|
/
|
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
x 2
3
|
4
y 5
6
|
x’ 1 2
3
|
y’ 4 5
6
|
5
x + y
6
7
|
-3
x – y -3
-3
|
3
x + 2 4
5
|
-3
x – 2 -3
-3
|
x * y phép toán sai
|
4
x. * y 10
18
|
x’* y
32
|
x’.* y phép toán
sai
|
4 5
6
x * y’ 8 10
12
12 15
18
|
x. * y’ phép toán
sai
|
2
x * 2
4
6
|
2
x.* 2 4
6
|
x \ y
16/7
|
4
x.\ y 5/2
2
|
1/2
2 \ x
1
3/2
|
2
2./ x 1
2/3
|
0 0
1/6
x / y 0 0
1/3
0 0
1/2
|
1/4
x./ y
2/5
1/2
|
1/2
x / 2 1
3/2
|
1/2
x./ 2 1
3/2
|
x ^ y phép toán
sai
|
1/2
x.^ y 32
729
|
x ^ 2 phép toán
sai
|
1
x.^ 2 4
9
|
2 ^ x phép toán
sai
|
2
2.^ x 4
8
|
» x>=[1 2 3;4 5 6;7 8 9]
ans =
1 1 1
1 1 0
0 0 0
» A=[1 2 3;4 5 6;7 8 9] % ta đặt ma trận A
A =
1 2 3
4 5 6
7 8 9
II. TẬP LỆNH THAO
TÁC TRÊN MA TRẬN
1. Cộng, trừ, nhân, chia từng phần tử của ma trận
với hằng số
a) Cú pháp:
Ma trận
kết quả = ma trận [+] [-] [.] [/] hằng số.
b) Ví dụ:
a =
1 2 3
4 5 6
7 8 9
Cộng
ma trận a với 2 kết quả là ma trận b
b = a
+ 2
b =
3 4 5
6 7 8
9 10 11
tương
tự cho các phép tính trừ, nhân và chia.
2. Lệnh DET
a) Công dụng:
Dùng
để tính định thức của ma trận.
b) Ví dụ:
Tính
định thức của ma trận a
a =
1
4
5 6
det(a)
ans
= -8
3. Lệnh INV
a) Công dụng:
Tìm
ma trận nghịch đảo.
b) Cú pháp:
Ma trận
nghịch đảo = inv (ma trận)
c) Ví dụ:
Tìm
ma trận nghịch đảo của a.
a =
1 2 0
2 5
-1
4 10 -1
b =
inv(a)
b
=
5 2
-2
-2
-1 1
0 -2 1
4. Lệnh tạo ma trận
a) Công dụng:
Dùng
để tạo 1 ma trận gồm có n hàng và m cột.
b) Cú pháp:
Tên
ma trận = [a11 a12…a1m ; a21 a22…
a2m ;…;…]
c) Giải thích:
a11,
a12, a1m là các giá trị tại hàng 1 cột 1 đến các giá trị tại hàng 1 cột
m, có n dấu (;) là có n hàng.
d) Ví dụ:
Tạo
ma trận gồm 3 hàng và 3 cột với giá trị là
1 2 3
4 5 6
1 0 0
a =
[1 2
3; 4 5 6; 1
0 0]
a
= 1 2 3
4 5 6
1 0 0
5. Lệnh tạo vector đơn
a) Công dụng:
Lệnh
này dùng để tạo 1 vector đơn gồm có n phần tử.
b) Cú pháp 1:
Tên
vector = [pt1 pt2 pt3 …ptn]
c) Giải thích:
pt1
pt2 …ptn: là các số thực.
d) Ví dụ:
Tạo
vector a gồm có 4 phần tử, với các giá
trị là:1, 3, 7, 4
a =
[1
3 7 4]
a
=
1 3 7 4
e) Cú pháp 2:
Tên
vector = gtđ:csc:gtkt
f) Giải thích:
gtđ:
là giá trị bắt đầu của vector.
csc:
cấp số cộng.
gtkt:
giá trị kết thúc.
g) Ví dụ:
Tạo
vector a có giá trị bắt đầu 0.2, giá trị kết thúc pi/2
(= 1.5708), cấp số cộng 0,3.
a =
0.2;0.3;pi/2
a
=
0.2000 0.5000 0.8000 1.1000 1.4000
6. Lệnh LINSPACE
a) Công dụng:
Tạo
vector có giá trị ngẫu nhiên giới hạn trong khoảng định trước.
b) Cú pháp:
y =
linspace(x1, x2)
y =
linspace(x1, x2, n)
c) Giải thích:
y:
tên của vector.
x1,
x2: giới hạn giá trị lớn nhất và nhỏ nhất của vector y.
n: số phần tử của vector y.
Nếu không có giá trị n thì mặc định
n = 100.
d) Ví dụ:
y =
linspace(1, 10, 7)
y
= 1.0000 2.5000 4.0000
5.5000 7.0000 8.5000
10.0000
7. Nhân ma trận
a) Công dụng:
Ma trận
kết quả = ma trận 1* ma trận 2.
b) Ví dụ:
Ta có
2 ma trận a và b như trên và c là ma trận kết quả
c =
a*b
c
=
14 32 50
32 77 122
50 122 194
IV.CÁC PHÉP TÍNH
ĐẠI SỐ
1. Lệnh CONV
a) Công dụng:
Nhân hai đa thức.
b) Cú pháp:
c = conv(a,b)
c) Giải thích:
a,b: đa thức
c: tích số của a,b
Cách khai báo: sắp xếp
biến theo thứ tự giảm dần của lũy thừa.
d) Ví dụ:
Nhân hai đa thức (3x2+4x+5).(2x3-3x2+2)
a = [0 3 4 5]
a = 0 3
4 5
b = [2 -3 0 2]
b =2 -3
0 2
c = conv(a,b)
c = 0 6
-1 -2 -9
8 10
2. Lệnh DECONV
a) Công dụng:
Chia hai đa thức.
b) Cú pháp:
[q,r]
=deconv(a,b)
c) Giải thích:
a,b: đa thức.
q: thương số của a, b.
r: số dư.
Cách khai báo: sắp
xếp biến theo thứ tự giảm dần của lũy thừa.
d) Ví dụ:
Chia 2 đa thức (2x2+3x+6)/(2x+3)
a = [2 3 6]
b = [2 3]
[q,r] = deconv (a,b)
q = 1 0
r = 0 0
6
3. Lệnh SUM
a) Công dụng:
Tính tổng của các phần tử.
b) Cú pháp:
s = sum(x)
c) Giải thích:
s: là biến chứa kết quả.
x: là tên ma trận.
Nếu x là ma trận thì s là tổng của
các cột.
d) Ví dụ:
a =
2 8 5 6 -3 9
s = sum(a)
s = 27
b =
3 4 -4
2 -3 5
1 6 2
s = sum(b)
s = 6 7 3
4. Lệnh PLOT
a) Công dụng:
Vẽ đồ
thị tuyến tính trong không gian 2 chiều.
b) Cú pháp:
plot(x,y)
plot(x,y,’linetype’)
c) Giải thích:
x,y: vẽ
giá trị x theo giá trị y.
linetype:
kiểu phần tử tạo nên nét vẽ bao gồm 3 thành phần:
-
Thành phần thứ nhất là các ký tự chỉ màu sắc:
Ký
tự
|
Màu
|
y
|
Vàng
|
m
|
Đỏ
tươi
|
c
|
Lơ
|
r
|
Đỏ
|
g
|
Lục
|
b
|
Lam
|
w
|
Trắng
|
k
|
Đen
|
-
Thành phần thứ hai là các ký tự chỉ nét vẽ của đồ thị:
Ký
tự
|
Loại
nét vẽ
|
-
|
Đường liền nét
|
:
|
Đường chấm chấm
|
-.
|
Đường gạch chấm
|
--
|
Đường nét đứt đoạn
|
-
Thành phần thứ ba là các ký tự chỉ loại điểm đánh dấu gồm:., o, x, +, *
d) Ví dụ:
Vẽ đồ
thị hàm y = sin(x) với đồ thị màu lam, đường liền nét và đánh dấu các điểm được
chọn bằng dấu *, trục x thay đổi từ 0 tới
2p,
mỗi bước thay đổi là p/8
x = 0:pi/8:2*pi;
y = sin(x);
plot(x,y, ‘b-* ’)
ylabel(‘y = sin(x)’)
xlabel(‘Truc x’)
title(‘Do thi ham y = sin(x)’)
grid on
Ví dụ vẽ hàm y
= 4x2+6x-7
trong đoạn [-6, 6], ta lập file bachai1.m.
function y = bachai1(x)
a = 4;b = 6; c = -7;
y
=a*x^2 + b*x + c;
>>fplot(‘bachai1’,
[-6,6])
5. Lệnh SEMILOGX, SEMILOGY
a) Công dụng:
Vẽ đồ
thị theo logarith.
b) Cú pháp:
semylogx(x,y)
semylogx(x,y,’linetype’)
semylogy(x,y)
semylogy(x,y,’linetype’)
c) Giải thích:
semylogx
và semylogy giống như lệnh plot nhưng chỉ khác một điều là lệnh này vẽ đồ thị
theo trục logarith. Do đó, ta có thể sử dụng tất cả các loại ‘linetype’ của lệnh
plot.
d) Ví dụ:
Vẽ đồ
thị hàm y = x2 – 3x + 2 theo trục logarith của x.
x =
0:100;
y =
x.^2-3*x+2;
semylogx(x,y,’b’)
grid on
6. Lệnh POLAR
a) Công dụng:
Vẽ đồ
thị trong hệ trục tọa độ cực.
b) Cú pháp:
polar(theta,rno)
c) Giải thích:
Vẽ
giá trị x theo giá trị y.
d) Ví dụ:
t =
-pi:0.01:pi;
polar(t, sin(t))
7. Lệnh STAIRS
a) Công dụng:
Vẽ đồ
thị dạng bậc thang.
b) Cú pháp:
stairs(x,y)
c) Giải thích:
Vẽ
giá trị x theo giá trị y.
d) Ví dụ:
x =
-pi:0.2:pi;
stairs(x,sin(x))
xlabeL(‘Truc x’)
ylabel(‘y = stairs(x,sin(x)’)
grid on
8. Lệnh TITLE
a) Công dụng:
Đặt
tiêu đề cho đồ thị.
b) Cú pháp:
title(‘text’)
c) Giải thích:
text:
tên tiêu đề.
9. Lệnh XLABEL, YLABEL, ZLABEL
a) Công dụng:
Đặt
tên cho trục X, Y, Z.
b) Cú pháp:
xlabel(‘nx’)
ylabel(‘ny’)
zlabel(‘nz’)
c) Giải thích:
nx,
ny, nz: tên trục x, y, z
V.CÁC HÀM TOÁN HỌC CƠ BẢN
1. Một số hàm lượng
giác:
a) Cú pháp:
kq =
hlg(x)
b) Giải thích:
kq:
tên biến chứa kết quả.
x:
đơn vị radian.
hlg:
tên hàm lượng giác.
Tên
hàm lượng giác
|
Giải
thích
|
sin
cos
tan
asin
atan
sinh
cosh
tanh
|
Tính giá trị sine
Tính giá trị cosine
Tính giá trị tangent
Nghịch đảo của sine
Nghịch đảo của tangent
Tính giá trị hyperbolic sine
Tính giá trị hyperbolic cosine
Tính gía trị hyperbolic tangent
|
2. Lệnh ANGLE
a) Công dụng:
Tính
góc pha của số phức.
b) Cú pháp:
p =
angle(z)
c) Giải thích:
p:
tên biến chứa kết quả, đơn vị radians
z: số
phức
d) Ví dụ:
z =
i-3j
z = 0
– 2.0000i
p =
angle(z)
p
= -1.5708
3. Lệnh CONJ
a) Công dụng:
Tính
lượng liên hiệp của số phức.
b) Cú pháp:
y =
conj(z)
c) Giải thích:
y:
tên biến chứa lượng liên hiệp
z: số
phức
d) Ví dụ:
z =
-3i + 2j
z = 0
– 1.0000i
y =
conj(z)
y
= 0 + 1.0000i
4. Lệnh EXP
a) Công dụng:
Tính
giá trị ex.
b) Cú pháp:
y =
exp(x)
c) Ví dụ:
y =
exp(x)
y
= 20.0855
5. Lệnh LOG
a) Công dụng:
Tìm
logarithm cơ số e.
b) Cú pháp:
y =
log(x)
d) Ví dụ:
y =
log(2.718)
y
= 0.9999
6. Lệnh LOG2
a) Công dụng:
Tìm
logarithm cơ số 2.
b) Cú pháp:
y =
log2(x)
d) Ví dụ:
y =
log2(2)
y
= 1
7. Lệnh LOG10
a) Công dụng:
Tìm
logarithm cơ số 10.
b) Cú pháp:
y =
log10(x)
d) Ví dụ:
y =
log10(10)
y
= 1
8. Lệnh REAL
a) Công dụng:
Lấy
phần thực của số phức.
b) Cú pháp:
y =
real(z)
d) Ví dụ:
y =
real(1 + 3j)
y
= 2
9. Lệnh Sqrt
a) Công dụng:
Lấy căn
bậc 2.
b) Cú pháp:
y = sqrt(z)
d) Ví dụ:
y = sqrt(9)
y
= 3
|