Chia trái
\
Chia trái
.\
Luỹ thừa.
^
Luỹ thừa.
.^
Phép gán.
\=
Phép gán.
\=
Thứ tự ưu tiên các phép toán
Ngoặc đơn
Luỹ thừa
Nhân, chia
Cộng, trừ
2.1.2 Các phép toán quan hệ
Các phép toán quan hệ bao gồm
- Nhỏ hơn: =
- Bằng: = =
- Không bằng: ~ =
Biểu thức có các toán tử quan hệ nhận giá trị đúng [true] hoặc sai
[false]. Trong Matlab, biểu thức đúng có giá trị là 1, biểu thức sai có giá trị là
0.
Ví dụ:
\>> x=3==3
x=
1
\>> x=3~=3
x=
0
2.1.3 Các phép toán logic và các hàm logic
Các phép toán logic được thực hiện bởi các câu lệnh sau:
-
Phép And: &
-
Phép Or: |
-
Phép phủ định: ~
15
Các hàm logic: and, or, xor, not
2.1.4 Số phức và các phép toán về số phức
Biểu diễn số phức:
Tên biến = Phần thực + Phần ảo i
hoặc
Tên biến = Phần thực + Phần ảo j
Ví dụ: a= 2+3i
Các phép toán đối với số phức: Cộng[+], trừ[-], nhân[*], chia[/]
Các hàm đặc biệt trên số phức: x=a+bi
real[x]: Trả về phần thực của số phức x
image[x]: Trả về phần ảo của số phức x
conj[x]: Trả về số phức liên hợp của số phức x
Ví dụ:
\>> x=1+1i ↵
x=
1.0000 + 1.0000i
\>> conj[x] ↵
ans =
1.0000 - 1.0000i
abs[x]: Trả về modul của số phức x
Ví dụ
\>> x=3+4i ↵
x=
3.0000 + 4.0000i
\>> abs[x] ↵
ans =
5
angle[x]: agument của số phức x [arctn[b/a]]
Ví dụ:
x=
1.0000 + 1.0000i
16
\>> angle[x] ↵
ans =
0.7854
2.1.5 Các hàm toán học
Trong mục này giới thiệu một số hàm toán học thông dụng thường gặp
khi lập trình.
Tên hàm
Sin
cos
Tan
asin
acos
atan
acos
sinh
cosh
tanh
asinh
acosh
atanh
abs
round
Fix
floor
ceil
rem
gcd
Lcm
exp
Log
Log2
Log10
sqrt
Cú pháp
sin[x]
cos[x]
tan[x]
asin[x]
acos[x]
atan[x]
acos[x]
sinh[x]
cosh[x]
tanh[x]
asinh[x]
acosh[x]
atanh[x]
abs [x]
round[x]
fix[x]
floor[x]
ceil[x]
rem[x,y]
gcd[x,y]
lcm[x,y]
exp[x]
log[x]
log2[x]
log10[x]
sqrt[x]
Giải thích
Hàm sin
Hàm cos
Hàm tang
Hàm arcsin
Hàm arccos
Hàm arctang
Hàm arccos
Hàm sin hyperbolic
Hàm cos hyperbolic
Hàm tang hyperbolic
Hàm arcsin hyperbolic
Hàm arccos hyperbolic
Hàm arctang hyperbolic
Giá trị tuyệt đối hoặc modulo của số phức
Làm tròn đến số nguyên gần nhất
Làm tròn về không
Làm tròn về - ∞
Làm tròn về + ∞
Phần dư của x chia y
Ước số chung lớn nhất của hai số nguyên x và y
Bội số chung nhỏ nhất của hai số nguyên x và y
Luỹ thừa của e
Logarit cơ số e
logarit cơ số 2
logarit cơ số 10
Căn bậc hai của x
2.2 Ma trận
Khái niệm
Ma trận là một mảng hai chiều mà các phần tử có thể là số thực hoặc số
phức hoặc cũng có thể là các ký tự không số.
17
Khi biểu diễn ma trận trong Matlab thì tên ma trận là một chuỗi có tối đa
là 31 ký tự và bắt đầu là chữ sau đó có thể là chữ hoặc số hoặc một số ký tự đặc
biệt [ngoại trừ các ký tự: +,-,*,/,..].
Bao quanh các phần tử của ma trận là dấu ngoặc vuông: [ai j]
Các phần tử trong một hàng của ma trận được cách nhau bởi ký tự trắng
[space] hoặc dấu phẩy
Các hàng được phân cách nhau bởi dấu chấm phẩy
Các cách để nhập dữ liệu cho ma trận
[1] Liệt kê trực tiếp
Ví dụ:
\>> M=[3 2 3;3 4 5] ↵
M=
3
2
3
3
4
5
[2] Nhập thông qua lệnh input
Ví dụ:
\>> M=input['Hay nhap ma tran M='] ↵
Hay nhap ma tran M=[3 4 5;4 3 2] ↵
M=
3
4
5
4
3
2
Chú ý: - Khi kết thúc lệnh có thể dùng dấu chấm phẩy [;] hoặc không.
Nếu kết thúc bằng dấu chấm phẩy thì kết quả không hiển thị lên màn hình. Nếu
không sử dụng dấu chấm phẩy thì kết quả được hiển thị lên màn hình. Tuy
nhiên trong cả hai trường hợp dữ liệu đều được lưu trong không gian làm việc
của Matlab và được sử dụng cho lần tiếp theo.
Ví dụ:
\>> a=[1 2;2 3]; ↵
\>> b=[4 5;1 2]; ↵
\>> c=a*b ↵
c=
18
6
9
11 16
- Các phần tử trong ma trận có thể là số phức:
Ví dụ:
\>> M=[1+i 2+2i; 1+2i 2+i] ↵
M=
1.0000 + 1.0000i 2.0000 + 2.0000i
1.0000 + 2.0000i 2.0000 + 1.0000i
- Các phần tử trong ma trận có thể là các ký tự [biểu tượng]. Nhưng
trước hết cần khai báo bằng lệnh Syms [Khai báo là các biến Symbolic]
Ví dụ:
\>> syms sinx cosx tanx ↵
\>> b=[sinx cosx; cosx tanx] ↵
b=
[ sinx, cosx]
[ cosx, tanx]
Hiển thị dữ liệu của ma trận
- Gõ trực tiếp tên ma trận sau đó nhấn phím ↵
Ví dụ:
\>> b=[sinx cosx; cosx tanx]; ↵
\>> b ↵
b=
[ sinx, cosx]
[ cosx, tanx]
- Dùng lệnh disp để hiển thị dữ liệu nhưng không hiển thị tên ma trận.
Ví dụ:
\>> b=[sinx cosx; cosx tanx]; ↵
\>> disp[b] ↵
[ sinx, cosx]
[ cosx, tanx]
19
2.3 Xử lý trong ma trận và vector
Tạo vector
Để tạo vector ta có các cách sau:
STT
1
Cú pháp
X=[x1 x2..xn ]
Chú thích
Tạo vector hàng x chứa các
phần tử đặc biệt
Ví dụ
\>> x=[1 4 2]
x=
1
4
2
Tạo vector hàng x bắt đầu
tại first và kết thúc là phần >> x=1:4.3
2
X=first:last
tử có giá trị nhỏ hơn hoặc x =
1
bằng last, phần tử sau bằng
2
3
4
phần tử trước cộng 1
Tạo vector x bắt đầu tại
first, phần tử sau bằng phần >> x=1:2:6
3
X=first:inc:last
tử trước cộng inc, kết thúc là x =
1
phần tử có giá trị nhỏ hơn
3
5
hoặc bằng last
Tạo vector hàng x bắt đầu
4
X=linspace[first, last, n]
tại first, kết thúc là last,
vector có n phần tử.
\>>
x=linspace[2,8,4]
x=
2
4
6
Truy nhập tới các phần tử của ma trận
Matlab cho phép ta xử lý đến từng phần tử của ma trận. Để truy nhập tới
phần tử của ma trận ta sử dụng tới chỉ số của từng phần tử:
Cú pháp: Tên ma trận[chỉ số hàng, chỉ số cột]
Ví dụ:
\>> a=[1 3; 2 1] ↵
a=
1
3
2
1
\>> a[1,2]
ans =
3
20
8
Lưu ý: Chỉ số của mảng phải là số nguyên dương hoặc có kiểu logic
2.4 Các ma trận đặc biệt
Ma trận zeros: zeros[số hàng, số cột]
Tất cả các phần tử trong ma trận đều bằng không
Ví dụ:
\>> c=zeros[2,3] ↵
c=
0
0
0
0
0
0
Ma trận Ones: Ones[số hàng, số cột]
Ví dụ
\>> c=ones[2,3] ↵
c=
1
1
1
1
1
1
Ma trận ma phương
Tổng tất cả giá trị các phần tử trên hàng=tổng tất cả giá trị các phần tử
trên cột=tổng các giá trị các phần tử trên đường chéo của ma trận
Cú pháp: magic[cấp ma trận]
Ví dụ:
\>> magic[3] ↵
ans =
8
1
6
3
5
7
4
9
2
Ma trận eye [Ma trận đồng nhất]
Tất cả các phần tử trên đường chéo bằng 1, các phần tử khác có giá trị 0.
Cú pháp: eye[số hàng, số cột]
Ví dụ:
\>> m=eye[2,3] ↵
21