I. Matrices and Vectors:
+ Ma trận là 1 mảng 2 chiều: Ví dụ: \begin{bmatrix} a & b & c \newline d & e & f \newline g & h & i \newline j & k & l \end{bmatrix}
Ma trận trên có 4 hàng và 3 cột hay nói cách khác đây là một 4x3 ma trận.
+ Vector là một ma trận có 1 cột và nhiều hàng: \begin{bmatrix} w \newline x \newline y \newline z \end{bmatrix} Ví dụ trên là một 4x1 ma trận hay là 1 vector trong R4
Vì vậy, vector thực ra là 1 trường hợp con của ma trận
+ Cách tạo ma trận trong MATLAB hoặc OCTAVE: Để tạo ma trân: $$A = \begin{bmatrix} 1 & 2 & 3 \newline 4 & 5 & 6 \newline 7 & 8 & 9 \newline 10 & 11 & 12 \end{bmatrix}$$ Ta gõ lênh như sau A = [1 2 3; 4 5 6; 7 8 9]; (Nếu không muốn hiên thị kết quả thì ta dùng dấu ";" ở cuối câu lệnh)
+ Thành phần ma trận: Aij chỉ phần tử ma trận ở hàng thứ i và cột thứ j của ma trận đó. $$A= \begin{bmatrix} 12 & 15 \newline 9 & 8 \newline 5 & 8 \end{bmatrix}$$ Ví dụ: A11 = 12; A32 = 8
+ Ký hiệu:
- Ma trận A trong R4x3 nghĩa là nó là một ma trận 4x3
- R3 nghĩa là tập hợp của tất cả các vector 3 chiều (tức vector 3 hàng và 1 cột)
- 1-indexed vs 0-indexed (Ma trận được đánh chỉ số bắt đầu từ 1 vs ma trân chỉ số bắt đầu từ 0): $$\begin{bmatrix} y_{0} \newline y_{1} \newline y_{2} \end{bmatrix} \begin{bmatrix} y_{1} \newline y_{2} \newline y_{3} \end{bmatrix}$$ Một số ngôn ngữ lập trinh như C đánh chỉ số bắt đầu từ 0, nhưng trong MATLAB hay OCTAVE ma trận được đánh chỉ số bắt đầu từ 1
- Người ta thường dùng chữ cái in hoa (A, B, C , X ...) để đặt tên cho ma trận và chữ thường(x, y, v ...) cho vector.
II. Addition and Scalar Multiplication:
- Phép cộng hay trừ 2 ma trận: $$ \begin{bmatrix} a & b \newline c & d \newline \end{bmatrix} + \begin{bmatrix} w & x \newline y & z \newline \end{bmatrix} = \begin{bmatrix} a+w & b+x \newline c+y & d+z \newline \end{bmatrix}$$ Muốn cộng hay trừ 2 ma trận thì 2 ma trận đó phải cùng kích thước. Phép cộng hay trừ 2 ma trận phải theo từng phần tử tương ứng(element-wise)
III. Nhân ma trận với đại lượng vô hướng(scalar): $$ \begin{bmatrix} a & b \newline c & d \newline \end{bmatrix} \times x = \begin{bmatrix} a*x & b*x \newline c*x & d*x \newline \end{bmatrix}$$ IV. Matrix Vector Multiplication(Nhân ma trận):
Tổng quát: $$\begin{bmatrix} a & b \newline c & d \newline e & f \end{bmatrix} \times \begin{bmatrix} w & x \newline y & z \newline \end{bmatrix} = \begin{bmatrix} a*w + b*y & a*x + b*z \newline c*w + d*y & c*x + d*z \newline e*w + f*y & e*x + f*z \end{bmatrix}$$ Để nhân 2 ma trận, thì số cột của ma trận thứ nhất phải bằng số hàng của ma trận thứ 2. Cụ thể:
A(mxn) x B(nxq) = C(mxq)
Ví dụ: Nhân 2 ma trận trong MATLAB $$\begin{bmatrix} 1 & 3 \newline 4 & 0 \newline 2 & 1 \end{bmatrix} \times \begin{bmatrix} 1 \newline 5 \newline \end{bmatrix} = \begin{bmatrix} 1*1 + 3*5 \newline 4*1 + 0*5 \newline 2*1 + 1*5 \end{bmatrix}= \begin{bmatrix} 16 \newline 4 \newline 7 \end{bmatrix} $$ Trong MATLAB, gõ lệnh sau:
>> [1 3; 4 0; 2 1] * [1; 5]
ans =
16
4
7
V. Matrix Multiplication Properties (Tính chất của phép nhân ma trận):
- Nhân ma trận không có tính chất giao hoán:
Đối với số thực ta có: a x b = b x a, tuy nhiên đối với ma trận tính chất này không đúng:
A(mxn) x B(nxm) = C(mxm), nhưng B(nxm) x A(mxn) = C(nxn)
Vì vậy A x B ≠ B x A
Ví dụ:
$$\begin{bmatrix} 1 & 1 \newline 0 & 0 \newline \end{bmatrix} \times \begin{bmatrix} 0 & 0 \newline 2 & 0 \newline \end{bmatrix} = \begin{bmatrix} 2 & 0 \newline 0 & 0 \newline \end{bmatrix}$$ $$\begin{bmatrix} 0 & 0 \newline 2 & 0 \newline \end{bmatrix} \times \begin{bmatrix} 1 & 1 \newline 0 & 0 \newline \end{bmatrix} = \begin{bmatrix} 0 & 0 \newline 2 & 2 \newline \end{bmatrix}$$ - Nhân ma trận có tính chất kết hợp:
Tức: (AxB)xC = Ax(BxC)
VI. Identity Matrix (ma trận đơn vị):
Ký hiệu: I hay Inxn
Ví dụ về ma trận đơn vị: $$\begin{bmatrix} 1 & 0 \newline 0 & 1 \newline \end{bmatrix}$$
thì AI, I phải la ma trận 2x2, còn nếu IA, I phải là ma trận 3x3.
Ví dụ:
$$\begin{bmatrix} 1 & 4 \newline 5 & 3 \newline 2 & 7 \end{bmatrix} \times \begin{bmatrix} 1 & 0 \newline 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0\newline 0 & 1 & 0 \newline 0 & 0 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 4 \newline 5 & 3 \newline 2 & 7 \end{bmatrix} = \begin{bmatrix} 1 & 4 \newline 5 & 3 \newline 2 & 7 \end{bmatrix} $$ VII. Inverse and Transpose:
-Inverse của A được ký hiệu là $$A^{-1} và AA^{-1} = I$$ Một ma trận có ma trận đảo khi đó ma trận đó phải là ma trận vuông(Số hàng bằng với số cột)
Một ma trận vuông A có ma trận đảo <=> det(A) != 0 (nonsingular matrix)
Chúng ta có thể tính ma trận đảo của một ma trân trong MATLAB bằng lệnh pinv(A)
Ví dụ: $$A = \begin{bmatrix} 4 & 2 \newline 9 & 3 \end{bmatrix}; pinv(A) = \begin{bmatrix} -0.500 & 0.3333 \newline 1.5000 & -0.6667 \end{bmatrix}$$ $$ A*pinv(A) = \begin{bmatrix} 1.0000 & 0.000 \newline 0.0000 & 1.000 \end{bmatrix} $$ - Transpose của một ma trận:
$$A = \begin{bmatrix} a & b \newline c & d \newline e & f \end{bmatrix}$$ $$A^T = \begin{bmatrix} a & c & e \newline b & d & f \newline \end{bmatrix}$$ Nói cách khác: $$A_{ij} = A^T_{ji}$$ Để tính transpose của một ma trân trong MATLAB, ta gõ A' (A là ma trận cần transpose)
No comments:
Post a Comment