1. Trang chủ
  2. » Công Nghệ Thông Tin

ma trận trong matlab

40 1,9K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 6,53 MB

Nội dung

Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản: zeros (line,column) : cho phép tạo một ma trận toàn số 0. ones (line,column) : cho phép tạo ra ma trận toàn số 1. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn. eye (line) : khai báo ma trận đơn vị. pascal (line) : tạo ma trận đối xứng (ma trận vuông). magic (line) : tạo ma trận không đối xứng. Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt ).Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản: zeros (line,column) : cho phép tạo một ma trận toàn số 0. ones (line,column) : cho phép tạo ra ma trận toàn số 1. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn. eye (line) : khai báo ma trận đơn vị. pascal (line) : tạo ma trận đối xứng (ma trận vuông). magic (line) : tạo ma trận không đối xứng. Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt ).Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản: zeros (line,column) : cho phép tạo một ma trận toàn số 0. ones (line,column) : cho phép tạo ra ma trận toàn số 1. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn. eye (line) : khai báo ma trận đơn vị. pascal (line) : tạo ma trận đối xứng (ma trận vuông). magic (line) : tạo ma trận không đối xứng. Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt ).Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản: zeros (line,column) : cho phép tạo một ma trận toàn số 0. ones (line,column) : cho phép tạo ra ma trận toàn số 1. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn. eye (line) : khai báo ma trận đơn vị. pascal (line) : tạo ma trận đối xứng (ma trận vuông). magic (line) : tạo ma trận không đối xứng. Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt ).Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản: zeros (line,column) : cho phép tạo một ma trận toàn số 0. ones (line,column) : cho phép tạo ra ma trận toàn số 1. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn. eye (line) : khai báo ma trận đơn vị. pascal (line) : tạo ma trận đối xứng (ma trận vuông). magic (line) : tạo ma trận không đối xứng. Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt ).

Trang 1

MA TRẬN TRONG MATLAB

Trang 2

• Một con số trong Matlab là một ma trận 1x1

• Thế mạnh của Matlab so với các ngôn ngữ lập trình khác là tính toán rất nhanh trên ma trận

Trang 3

Ma trận (Matrix)

 Matlab cung cấp cho chúng ta 7 hàm để tạo các ma trận cơ bản:

1. zeros (line,column) : cho phép tạo một ma trận toàn số 0

2. ones (line,column) : cho phép tạo ra ma trận toàn số 1

3. rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên

4. randn (line,column) : tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên và thuộc phân phối chuẩn

5. eye (line) : khai báo ma trận đơn vị

6. pascal (line) : tạo ma trận đối xứng (ma trận vuông)

7. magic (line) : tạo ma trận không đối xứng

Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng được cách nhau bởi dấu (,) hoặc một dấu cách , giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt )

Trang 5

1 0

0 1

>> rand(1,8) ans =

0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565 0.0185

>> ones(2,3) ans =

1 1 1

1 1 1

Trang 10

Thao tác trên Ma Trận

4.Lệnh Diag : Dùng để tạo ma trận đường chéo và rút ra đường chéo của ma trận.

 Cú pháp : Diag(v,k) là một vecto n phần tử thì kết quả là một ma trận vuông bậc n+|k|.Trong đó các phần tử của v nằm trên đường chéo thứ k

1. k= 0 , đường chéo là đường chéo chính

2. k>0 , đường chéo thứ k nằm trên đường chéo chính

3. k<0 , đường chéo thứ k nằm dưới đường chéo chính

.Diag(X,k): nếu X là một ma trận thì kết quả là môt vecto cột hình thành từ những phần tử của đường chéo chính thứ k

.Diag(X): trả về một vecto là đường chéo chính của ma trận

.Diag(Diag(X)): trả về là một ma trận đường chéo

Trang 11

Thao tác trên Ma Trận

5.Lệnh Sum:Tính tổng các hàng và các cột của ma trận

 Cú pháp :

1. Sum(X) hay Sum(X,1)trả về một vecto mà mỗi phần tử là tổng của từng cột trong ma trận

2. Sum(X,2) : trả về vecto mà mỗi phần tử là tổng của từng hàng trong ma trận

 Ví Dụ:với ma trận a cho ở trên

.Tính tổng Cột

>> tong_cot=sum(a) tong_cot =

12 15 18

• Tính Tổng hàng

>> tong_hang=sum(a,2)tong_hang = 6 15 24

Trang 12

Thao tác trên Ma trận

6.Ma trận Symbolic: có 2 cách định nghĩa một ma trận symbolic

 Từ tham số

 Từ các số thực

 Để định nghĩa ma trận symbolic , hai lệnh sym và syms thường được sử dụng:

 Sym(‘a’): trả về kết quả là một biến symbolic tên là a

 Sym([ ; ; ;]): trả về một ma trận symbolic

 Sym(A): với A là một số thực hay ma trận số thực sẽ trả về một biến hay ma trận Symbolic

 Sym arg1 arg 2 tương đương với arg1=sym(‘arg1’); arg2=sym(‘arg2’)

Trang 13

[ c, d]

>> r=Det(a)

r =a*d-b*c

• Định thức của ma trận đơn vị bằng 1

• Định thức của một ma trận đường chéo là tích

của các phần tử đường chéo

Chú ý : + ) Định thức của nó bằng 0 người ta gọi đó là ma trận suy biến

+) Định thức dùng để giải hệ phương trình tuyến tính ,xác định điều kiện có nghiệm hay không của hệ

Trang 14

Thao tác trên Ma trận

8.Các toán hạng trên Ma trận: trong Matlab tồn tại các toán hạng sau

A + B A, B phải có cùng kích thước ,ngoại trừ 1 trong 2 là giá trị vô hướng

A – B A, B phải có cùng kích thước, ngoại trừ 1 trong 2 là giá trị vô hướng

A* B Số cột của A = số hàng của B,ngoại trừ 1 trong 2 là giá trị vô hướng

A.* B Nhân từng phần tử của A với từng phần tử của B, A;B cùng kích thước

A \ B Chia trái ma trận X=A\B tương đương với giải PT : A*X=B

A \ B Chia trái mảng tương đương với B(i,j)\A(i,j).A;B cùng kích thước

A / B Chia phải ma trận X=A/B tương đương với giải PT:B*X=A

A./ B Chia phải mảng tương đương với A(i,j)/B(i,j).A;B cùng kích thước

A ^ B Lũy thừa ma trận Lỗi sẽ phát sinh nếu A và B đều là ma trận

A.^ B Lũy thừa mảng.Kết quả là một ma trận mà các số hạng A(i,j)^B(i,j).A;B cùng kích thước

Trang 15

Giải hệ phương trình tuyến tính

 Một hệ phương trình tuyến tính có dạng tổng quát :

a11x1 + a12x2 +a1nxn = b1

a21x1 + a22x2 + a2nxn = b2

…am1x1 + am2x2 + amnxn = bm

 Một số phương pháp để giải hệ này:

 Nghịch đảo Ma Trận

 Phương pháp khử Gauss

 Phương Pháp khử Gauss- Jordan

 Phương pháp phân rã ma trận(LU)

Với : A = [aịj]mxn là ma trận hệ số A* = [Ab]mx(n+1) là ma trận đầy đủ

• Một trong số ứng dụng của MATLAB là giải hệ phương trình đại số tuyến tính

• Trong MATLAB có một số hàm đã được xây dựng và để sử dụng cho các phương pháp này

Trang 16

Giải hệ phương trình tuyến tính

1 Nghịch đảo ma trận.

2 Phương pháp khử Gauss – Jordan.

3 Phương pháp phân ra ma trận(LU).

4 Hạng của ma trận và điều kiện có nghiệm của hệ phương trình A*X = B.

Trang 17

Giải hệ phương trình tuyến tính

1.Nghịch đảo ma trận.

Xét phương trình tuyến tính Dưới dạng ma trận hệ có dạng sau

AX = B X = BVới là ma trận nghịch đảo của ma trận hệ số A

1.1 Lệnh inv

Lệnh inv(A): dùng để tính ma trận nghịch đảo

Trang 18

Giải hệ phương trình tuyến tính

Trang 20

Giải hệ phương trình tuyến tính

2.Phương pháp khử Gauss – Jordan.

Lệnh rref(A) : trả về ma trận là bước cuối cùng trong phương pháp này

Trong đó A là ma trận vuông hay hình chữ nhật Lệnh rref cho phép sử dụng với phương pháp symbolic

Ví dụ : giải hệ phương trình tuyến tính sau :

Khi sử dụng phương pháp này sẽ dẫn tới bất tiện là ta phải tiến hành lại từ đầu thủ

tục Gauss - Jordan cho từng vecto cột B

Trang 21

Giải hệ phương trình tuyến tính

3.Phương pháp phân ra Ma trận

3.1 Lệnh [L,u] = lu(A) : trả về ma trận tam giác trên U, ma trận tam giác dưới L Phân ra ma trận A thành các ma trận tam giác : A= L*U

• Trong đó : L: ma trận tam giác dưới cỡ nxn, các phần tử đường chéo chính đều bằng 1

U : ma trận tam giác trên

Bằng cách thế ngược một lần nữa để tìm X Như vậy

nghiệm của hệ A*X=B là X= U\(L\B)

Trang 22

Giải hệ phương trình tuyến tính 3.2 Ví dụ : giải hệ phương trình A*X=B , trong đó

Trang 23

Giải hệ phương trình tuyến tính

4 Hạng của ma trận và điều kiện có nghiệm của hệ A*X=B

 Hạng của ma trận A là số hàng khác 0 trong dang rút gọn của A Ký hiệu là r(A)

 Điều kiện có nghiệm của hệ phương trình tuyến tính A*X=B, có n ẩn số :

 r(A) = r() = n thì hệ có nghiệm duy nhất

 r(A) = r() < n thì hệ có vô số nghiệm phụ thuộc vào n - r(A) tham số

 r(A) ≠ r() : không tồn tại lời giải của hệ phương trình A*X=B

Trong Toolbox của MATLAB có một số lệnh liên quan đến hạng của một ma trận, không gian cơ sở của ma trận

Trang 24

Giải hệ phương trình tuyến tính

4.1 Lệnh rank

rank(A) : trả về là một số nguyên là hạng của Ma trận

Ví dụ : Xét điều kiện có nghiệm của các hệ phương trình tuyến tính sau :

Trang 25

Giải hệ phương trình tuyến tính

Trang 26

Giải hệ phương trình tuyến tính

Trang 27

Giá trị riêng và vecto riêng

Trang 28

Giá trị riêng và vecto riêng của MT

Giá riêng λ là nghiệm của đa thức |A - λ I| = 0

Nếu khai triển định thức ta sẽ được một đa thức với biến λ Đa thức này gọi là đa thức đặc trưng Nếu A là mà trận n x n thì đa thức này có dạng sau :

Trang 29

Giá trị riêng và vecto riêng của MT

3.Lệnh eig

 Tính giá trị riêng và vecto riêng của ma trận vuông sử dụng được cho các hai phương pháp số va symbolic

 Cú pháp : d = eig(A) : trả về ma trận d mà các giá trị riêng là các phần tử năm trên đường chéo chính [V,D] = eig(A) : trả về vecto riêng chứa ma trận V và giá trị riêng chứa trong ma trận D

 Ví dụ :

Trang 30

Giá trị riêng và vecto riêng của MT

Trang 31

Giá trị riêng và vecto riêng của MT

5.Tính định thức , nghịch đảo, lũy thừa của ma trận thông qua ma trận giá trị riêng và vecto riêng.

MATLAB cung cấp một số hàm để tính định thức, nghịch đảo, và lũy thừa của ma trận nhe det, inv, expm Ngoài ra căn cứ vào các tính chất của ma trận , ta có thể tính toán thông qua các biểu thức :

• Với D và V là các giá trị riêng và các vecto riêng đã được chuẩn hóa của ma trận A Vì ma trận các giá trị riêng là ma trận đường chéo có nghĩa là các phần tử khác không chỉ nằm trên đường chéo chính do vậy việc thực hiện nghịch đảo ma trận, tính định thức ma trận, lấy lũy thừa ma trận được đơn giản đi rất nhiều nếu chúng ta thực hiện trên ma trận đường chéo chính

Trang 32

Giá trị riêng và vecto riêng của MT

 Chú ý : Hàm eig của MATLAB không cung cấp cho chúng ta ma trận vecto riêng được chuẩn hóa Do đó để sử dụng các tính chất của ma trận ở trên chúng ta cần chuẩn hóa chúng trước

 Ví Dụ 1 :

Trang 33

Giá trị riêng và vecto riêng của MT

 Ví dụ 2: Tính tần số riêng và vecto riêng của hệ dao động điều hòa :

Trang 34

Giá trị riêng và vecto riêng của MT

 Tiếp ví dụ 2: 

Trang 35

Bảng tóm tắt các hàm

 Các hàm trong Matlab là được đặt trong thư mục matfun

normest Chuẩn 2 của ma trận

det Định thức của ma trận

trace Tổng của các phần tử nằm trên đường chéo của ma trận

rref Reduced row echelon form

subspace Angle between two subspace

Trang 36

Bảng tóm tắt các hàm

Các phương trình tuyến tính \ and/- Line equation solution

cond Điều kiện đại số cho phép nghịch đảo

Condest Ước lượng cho chuẩn 1 đại số

cholinc Tham số Cholesky không đẩy đủ

luinc Tham số LU không đầy đủ

qr Orthogonal-trianglar decomposition

lsqnonneg Nonnegative least-squares

pinv Nghịch đảo của ma trận ảo

lscov Least squares with known covariance

Trang 37

polyeig Polynomail eigenvalue problem

condeig Condition number for eigenvalues

Trang 38

Bảng tóm tắt các hàm

Các hàm ma trận expm Ma trận mũ

Trang 39

Thanks you!

Ngày đăng: 19/03/2015, 09:55

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w