Các phép toán học và logic trong matlab năm 2024

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: <

- Nhỏ hơn hoặc bằng: <=

- Lớn hơn: >

- Lớn hơn hoặc bằng: >=

- 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