Tải bản đầy đủ (.ppt) (15 trang)

Chương III TÍNH TOÁN TRÊN MATLAB , đh nông lâm tphcm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (974.41 KB, 15 trang )

Chương III:
TÍNH TOÁN TRÊN MATLAB
3.1 Mảng
Mảng là một tập hợp số liệu mà ta muốn tính toán.
Để tạo mảng, đặt các phần tử của mảng vào giữa 2 dấu ngoặc vuông
3.1.1 Khai báo mảng
M = [a b c]

hoặc

M = [a, b, c]

VD: >> A = [3 6 4]

hoặc

A = [3, 6, 4] % vector hàng

M = [ x; y; z]
VD: >> B = [5; 1; 9] % vector cột
 Mảng có ít phần tử.


Biến = giới hạn đầu : giới hạn cuối
hoặc biến = giới hạn đầu : bước chạy : giới hạn cuối
VD: Tạo 1 vectơ t chạy từ 0 đến 0.6 với bước chạy tiến là 0.1
>> t = 0: 0.1:0.6
t=0

0.1000


0.2000

0.3000 0.4000 0.5000 0.6000

Biến = linspace(giới hạn đầu, giới hạn cuối, số phần tử)
VD: Tạo 1 vectơ t chạy từ 0 đến 10 với 5 phần tử ở giữa
>> t = linspace(0,10,5)
t=0

2.000

4.000

6.000 8.000 10.000

 Mảng có số lượng lớn các phần tử


3.1.2 Tính toán dùng số liệu mảng
Các toán tử nhân, chia, mũ phải thêm dấu chấm
.* ./ .^
VD: Tính X = sin(A2)/(1+3A)
>> X = sin (A.^2)./(1+3.*A)
>> X = 0.0412-0.0522

-0.0221

3.2 Toán tử quan hệ quyết định chương trình
 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 (khác): ~=


3.3 Ma trận
3.3.1 Định nghĩa: Ma trận là một mảng nhiều chiều và theo nguyên tắc:
Bao quanh các phần tử của ma trận bằng dấu ngoặc vuông [aij].
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 (,).
Kết thúc một hàng trong ma trận bởi dấu (;). Nói cách khác dấu (;) phân
cách giữa các hàng của ma trận
3.3.2 Nhập ma trận
Liệt kê trực tiếp:

VD:

>>A =[1 2 3; 4 5 6]

>> B =[1 2 3;
4 5 6]


Nhập thông qua lệnh input:
>> input('Nhap gia tri cho ma tran C = ') ↵
>> Nhap gia tri cho ma tran C = [1 3 4;4 5 7;7 5 8] ↵
>> ans =
1

3

4

4

5

7

7

5

8


Để hiển thị lại ma trận ta gõ tên ma trận sau đó enter.
VD: >> A
A=

1 2 3
4 5 6


3.3.3 Ma trận con và phần tử
Ta có thể lấy một phần tử hoặc ma trận con của một ma trận đã có.
Tên của ma trận (Chỉ số hàng, chỉ số cột)
A(i,j)  số liệu của phần tử hàng i và cột j
>> A(2,3)
ans =
6
>> B = C (2 : 3 , 1 : 3)
B=
4

5

7

7

5

8



3.3.4 Nhân 2 ma trận
Phép nhân 2 ma trận là C = A*B.
>> A = [6 -2; 10 3; 4 7];
>> B = [9 8; -5 12];
>> C = A*B
C=
64

24

75

116

1

116

Muốn nhân 2 ma trận thì số cột của ma trận A phải bằng số hàng của
ma trận B


3.3.5 Hoán vị ma trận
Phép chuyển đổi véctơ hàng thành véctơ cột gọi là phép hoán vị.
Thực hiện phép chuyển vị bằng toán tử dấu nháy đơn ( ‘ ).
>> a = [1 2 3; 4 5 6; 7 8 9]
a=
1

2


3

4

5

6

7

8

9

>> b = a’
b=
1

4

7

2

5

8

3


6

9


3.3.6 Xóa hàng và cột ma trận
Muốn xóa hàng hay cột ta gán giá trị rỗng (ký hiệu []) cho
hàng hoặc cột của ma trận.
>> a = [1 2 3; 4 5 6; 7 8 9];
>> a (2,:) = []
a=
1

2

3

7

8

9

>> a (:,3) = []
a=
1

2


7

8


3.3.7 Các ma trận đặc biệt
 zeros(m,n) là ma trận m x n với các phần tử bằng 0
 ones(m,n) là ma trận m x n với các phần tử bằng 1
 eye(m,n) là ma trận m x n với số 1 trên đường chéo chính
>> zeros (2,3)
ans =
0

0

0

0

0

0

>> B = [ones(2) zeros(2,3); zeros(3,2) 7*eye(3)]
B=

1

1


0

0

1

1

0

0

0

0

0

7

0

0

0

0

0


7

0

0

0

0

0

7

0


3.3.8 Các hàm ma trận
 expm(A)

tìm hàm mũ của ma trận A, tức eA

 logm(A)

tìm log(A)

 sqrtm(A)

tìm căn A


 det(A)

tính định thức A


3.4 Ứng dụng các phép toán ma trận
3.4.1 Giải phương trình bậc cao:
anxn + an-1xn-1+...+a0 = 0
Bước1: Lập 1 ma trận hàng có các phần tử là các hệ số từ a n đến a0 giảm
dần theo bậc của phương trình (Nếu hệ số nào không có ghi 0)
Bước 2: Dùng lệnh roots để giải ma trận vừa tạo được.
VD: giải phương trình sau x5 - 2x4 + 5x2 - 1 = 0
>> y = [ 1 -2 0 5
>> kq = roots(y)
kq =
1.5862 + 1.1870i
1.5862 - 1.1870i
-1.1606
-0.4744
0.4627

0

-1];


3.4 Ứng dụng các phép toán ma trận
3.4.2 Biết nghiệm tìm lại phương trình
Sử dụng lệnh poly.
>> r = [1, 3 + 5i, 3 - 5i];

>> poly(r)
ans =
1 -7 -40 34


3.4 Ứng dụng các phép toán ma trận


Như vậy việc giải hệ PT tuyến tính thực chất là thực
hiện phép toán về ma trận.
Vì vậy, nghiệm của hệ phương trình là: u = A\b
Việc giải trong Matlab gồm 3 dòng sau:
>> b = [8; -6; 4];
>> A = [2 4 -3; -2 3 2; -2 4 1];
>> u = A\b
Chú ý: dấu \ là dấu chia trái dùng để giải hệ phương
trình khi hệ chỉ có một nghiệm



×