Các toán tử trong ma trận trong matlab năm 2024

Ma trận trong MATLAB là mảng 2 chiều. Để tìm hiểu chi tiết về ma trận trong MATLAB, bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn. Ngoài ra nếu muốn tìm hiểu vector trong MATLAB, bạn có thể tham khảo bài viết vector trong MATLAB của Taimienphi.vn.

Trong MATLAB, ma trận trong MATLAB được tạo bằng cách nhập sau các phần tử trong mỗi hàng bằng dấu phẩy hoặc số phân cách và sử dụng dấu chấm phẩy để kết thúc mỗi hàng.

Các toán tử trong ma trận trong matlab năm 2024

Ma trận trong MATLAB

Ví dụ dưới đây tạo ma trận 4 hàng 5 cột:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Tham chiếu các phần tử của ma trận trong MATLAB

Để tham chiếu phần tử trong hàng thứ mth và cột thứ nth của ma trận mx, bạn viết:

mx(m, n);

Ví dụ để tham chiếu các phần tử của hàng 2 và cột 5 của ma trận a, bạn nhập:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

a(2,5)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

ans = 6

Để tham chiếu tất cả các phần tử trong cột thứ mth, bạn nhập:

A(:,m)

Để tạo cột vector v, từ phần tử của hàng thứ 4 của ma trận:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

v = a(:,4)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Ngoài ra bạn có thể chọn các phần tử trong cột thứ mth thông qua cột thứ nth:

a(:,m:n)

Để tạo ma trận nhỏ hơn lấy các phần tử từ cột thứ 2 và thứ 3:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

a(:, 2:3)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Tương tự, bạn có thể tạo ma trận lấy một phần của ma trận:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

a(:, 2:3)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Ví dụ để tạo ma trận con sa lấy một phần bên trong của ma trận:

Các toán tử trong ma trận trong matlab năm 2024

Để làm được điều này, bạn viết:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

sa = a(2:3,2:4)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Xóa cột hoặc hàng trong ma trận trong MATLAB

Bạn có thể xóa toàn bộ cột của ma trận trong MATLAB bằng cách gán tập hợp dấu ngoặc vuông [] vào cột hoặc hàng đó. Về cơ bản [] biểu thị một mảng trống.

Ví dụ, để xóa hàng thứ tư của ma trận:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

a( 4 , : ) = []

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Tiếp theo xóa cột thứ 5 của ma trận:

a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];

a(: , 5)=[]

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

Các toán tử trong ma trận trong matlab năm 2024

Ví dụ

Trong ví dụ này tạo ma trận 3 hàng 3 cột, sau đó sao chép hàng 2 và hàng 3 trong ma trận 2 lần để tạo tạo ma trận 4 hàng 3 cột.

1/ MATLAB cho phép ta nhập số liệu từ dòng lệnh. Khi nhập ma trận từ bàn phím ta phải tuân theo các quy định sau :

• ngăn cách các phần tử của ma trận bằng dấu “,” hay dấu trống

• dùng dấu “;” để kết thúc một hàng

• bao các phần tử của ma trận bằng cặp dấu ngoặc vuông [ ]

Ví dụ : >> A = [ 1 2 3 ] kết quả là A = 1 2 3 \>> A = [1;2;3]

kết quả là A =

1

2 3

2/ Toán tử ‘ dùng để chuyển vị một ma trận thực và chuyển vị liên hợp một ma trận

phức. Nếu chỉ muốn chuyển vị ma trận phức, ta dùng thêm toán tử “.” nghĩa là phải

viết “.’”. Ví dụ:

C = [1 + 2*i 2 - 4*i; 3 + i 2 - 2*j];

X = C'

Y = C.’

3/ Chỉ số: Phần tử ở hàng i cột j của ma trận m×n có kí hiệu là A(i, j). Tuy

nhiên ta cũng có thể tham chiếu tới phần tử của mảng nhờ một chỉ số, ví dụ A(k) với k

\= i + (j - 1)m. Cách này thường dùng để tham chiếu vec tơ hàng hay cột. Trong trường

hợp ma trận đầy đủ thì nó được xem là ma trận một cột dài tạo từ các cột của ma trận

ban đầu. Như vậy viết A(5) có nghĩa là tham chiếu phần tử A(2, 2).

Để xác định kích thước của một ma trận ta dùng lệnh length(trả về kích thước

lớn nhất) hay size(số hàng và cột). Ví dụ:

c = [1 2 3 4; 5 6 7 8];

length(c)

[m, n] = size(c)

4/ Toán tử “:” : Toán tử “:” là một toán tử quan trọng của MATLAB. Nó xuất

hiện ở nhiều dạng khác nhau. Ví dụ: Lệnh :

1:10

tạo một vec tơ hàng chứa 10 số nguyên từ 1 đến 10.

Lệnh: 100: -7: 50

tạo một dãy số từ 100 đến 51, giảm 7 mỗi lần.

Các biểu thức chỉ số tham chiếu tới một phần của ma trận. Viết A(1:k, j) là tham

chiếu đến k phần tửđầu tiên của cột j. Ngoài ra toán tử “:” tham chiếu tới tất cả các

phần tử của một hàng hay một cột. Ví dụ:

B = A(:, [1 3 2 ])

tạo ra ma trận B từ ma trận A bằng cách đổi thứ tự các cột từ [1 2 3] thành [1 3 2]

Tạo ma trận bằng hàm có sẵn: MATLAB cung cấp một số hàm để tạo các

ma trận cơ bản:

zeros tạo ra ma trận mà các phần tửđều là zeros

z = zeros(2, 4)

ones tạo ra ma trận mà các phần tửđều là 1

x = ones(2, 3)

y = 5*ones(2, 2)

rand tạo ra ma trận mà các phần tử ngẫu nhiên phân bốđều

d = rand(4, 4)

randn tạo ra ma trận mà các phần tử ngẫu nhiên phân bố trực giao

e = randn(3, 3)

magic(n) tạo ra ma trận cấp n gồm các số nguyên từ 1 đến n2 với tổng các hàng

bằng tổng các cột (n phải lớn hơn hay bằng 3).

pascal(n) tạo ra ma trận xác định dương cấp n mà các phần tử lấy từ tam giác Pascal.

Lệnh :

pascal(4) tạo ra ma trận xác định dương cấp 4

- eye(n) tạo ma trận đơn vị cấp n

Lệnh:

eye(3) tạo ma trận đơn vị cấp 3

- eye(m, n) tạo ma trận đơn vị mở rộng

Lệnh:

eye(3, 4) tạo ma trận đơn vị gồm 3 hàng 4 cột

Ta có thể lắp ghép(concatenation) các ma trận có sẵn thành một

ma trận mới. Ví dụ:

a = ones(3, 3)

b = 5*ones(3, 3)

c = [a + 2; b]

Xoá hàng và cột : Ta có thể xoá hàng và cột từ ma trận bằng dùng dấu []. Để

xoá cột thứ 2 của ma trận b ta viết:

b(:, 2) = []

Các lệnh xử lí ma trận:

Cộng : X= A + B

Trừ : X= A - B

Nhân : X= A * B

: X.*A nhân các phần tử tương ứng với nhau

Chia : X = A/B lúc đó X*B = A

: X = A\B lúc đó A*X = B

: X=A./B chia các phần tử tương ứng với nhau

Luỹ thừa : X = A^2

: X = A.^2

Nghịch đảo : X = inv(A)

Định thức : d = det(A)

Số chiều của họ vector A : n=ndims(A)

Tổng các phần tử trên đường chéo chính ma trận A : s = trace(A)

Phần 2.

Yêu cầu: Sinh viên không được dùng các hàm sẵn có trong matlab để viết chương trình.

Các đề tài.

1/ Dùng các phép biến đổi sơ cấp đưa ma trận về dạng bậc thang và tìm hạng của ma trận A tùy ý.

Yêu cầu: Input: cho phép nhập vào một ma trận tùy ý. Output: Ma trận bậc thang và r(A).

2/ Nhân hai ma trận với nhau.

Yêu cầu: Input: cho phép nhập vào hai ma trận A và B. Chương trình phải kiểm tra phép nhân có thực hiện được hay không? Output: Ma trận tích.

3/ Tính Am, với m là số tự nhiên cho trước.

Yêu cầu: Input: Nhập vào một ma trận vuông tùy ý và số tự nhiên m. Output: một ma trận Am.

4/ Tính định thức của ma trận bằng biến đổi sơ cấp.

Yêu cầu: Input: cho phép nhập vào một ma trận vuông tùy ý. Output: det(A).

5/ Tính định thức của ma trận vuông A bằng cách khai triển theo một hàng tùy ý (hoặc một cột tùy ý) qua các bù đại số.

Yêu cầu: Input: cho phép nhập vào một ma trận vuông tùy ý. Output: det(A).

6/ Tìm hạng của ma trận bằng các sử dụng các định thức con (phương pháp định thức bao quanh).

7/ Tìm ma trận nghịch đảo của ma trận vuông A bằng biến đổi sơ cấp đối với hàng cho ma trận

Các toán tử trong ma trận trong matlab năm 2024
.

Yêu cầu: Input: cho phép nhập vào một ma trận vuông tùy ý. Chương trình kiểm tra tính khả nghịch của ma trận. Output: Ma trận nghịch đảo:

Các toán tử trong ma trận trong matlab năm 2024
.

8/ Tìm ma trận nghịch đảo bằng công thức

Các toán tử trong ma trận trong matlab năm 2024
.

Yêu cầu: Input: cho phép nhập vào một ma trận vuông tùy ý. Chương trình kiểm tra tính khả nghịch của ma trận. Output: Ma trận nghịch đảo:

Các toán tử trong ma trận trong matlab năm 2024
.

9/ Phân tích LU của ma trận A. Phân tích PA=LU.

Yêu cầu: Input: cho phép nhập vào một ma trận vuông cấp n. Chương trình kiểm tra A có thể phân tích thành A = LU hay không. Nếu không thì tìm ma trận P và phân tích PA= LU. Output: Ma trận nghịch đảo: P, L, U.

11/ Kiểm tra tính xác định dương của ma trận vuông A. (định nghĩa: ma trận vuông A gọi là xác định dương, nếu các định thức con chính đều dương).

10/ Phân tích Cholesky:

Các toán tử trong ma trận trong matlab năm 2024
, trong đó A là ma trận đối xứng, xác định dương.

11/ Giải hệ phương trình bằng phép biến đổi Gauss.

Yêu cầu: Input: cho phép nhập vào một ma trận tùy ý A và ma trận b. Output: Nghiệm của hệ ở dạng vécto.

Ma trận A và b có thể được đọc từ file *.txt

12/ Giải hệ Cramer AX = b với A vuông,

Các toán tử trong ma trận trong matlab năm 2024
bằng công thức
Các toán tử trong ma trận trong matlab năm 2024
,

trong đó

Các toán tử trong ma trận trong matlab năm 2024
.

13/ Tìm tọa độ của một vécto trong một cơ sở cho trước.

Yêu cầu: Input: cho một vécto và một cơ sở E. Output: tọa độ của vécto trong cơ sở E.

14/ Tìm ma trận chuyển cơ sở từ E sang F.

Yêu cầu: Input: cho hai cơ sở E và F. Output: ma trận chuyển cơ sở P.

15/ Tìm hạng của họ vécto.

Yêu cầu: Input: cho một họ vécto. Output: hạng của họ vécto này và các vécto độc lập tuyến tính tối đa của họ

16/ Kiểm tra tính độc lập tuyến tính, phụ thuộc tuyến tính của họ vécto. Kiểm tra vécto x có là tổ hợp tuyến tính của họ vécto M hay không?

17/ Tìm cơ sở, số chiều của không gian con sinh ra bởi họ vécto M.

Yêu cầu: Input: cho phép nhập vào một họ vécto. Output: Số chiều và cơ sở của không gian con sinh ra bởi M.

18/ Tìm cơ sở và số chiều của không gian nghiệm của hệ thuần nhất AX = 0.

Yêu cầu: Input: cho phép nhập vào ma trận A. Output: Số chiều và cơ sở của không gian nghiệm.

19/ Tìm số chiều và cơ sở của không gian giao

Các toán tử trong ma trận trong matlab năm 2024
và không gian tổng
Các toán tử trong ma trận trong matlab năm 2024
của hai không gian con F và G. Input: nhập vào hai không gian con (tập sinh của hai không gian con F và G, hoặc nhập hệ pt). Output: số chiều và cơ sở của giao và tổng.

20/ Dùng quá trình trực giao hóa Gram-Schmidt, tìm họ trực giao, họ trực chuẩn của họ vécto độc lập tuyến tính.

Yêu cầu: Input: cho phép nhập vào một họ vécto gồm m vécto độc lập tuyến tính (hoặc họ vécto bất kỳ, chương trình phải kiểm tra tính độc lập tuyến tính của họ vécto). Output: Họ gồm m vécto trực giao, có thể trực chuẩn.

21/ Phân tích QR của ma trận vuông A bằng quá trình Gram – Schmidt.

Yêu cầu: Input: cho phép nhập vào ma trận vuông A tùy ý. Chương trình kiểm tra A có phân tích QR hay không (điều kiện: các cột của A là họ độc lập tuyến tính). Output: Ma trận Q và ma trận R.

22/ Tìm hình chiếu vuông góc của một vécto cho trước xuống không gian con. Tìm khoảng cách từ vécto đến không gian con.

Yêu cầu: Input: cho phép nhập vào một họ vécto M và vécto x. Output: hình chiếu vuông góc của vecto x xuống không gian con F được sinh ra bởi M và khoảng cách từ x đến F.

23/ Cho ánh xạ tuyến tính f biết ma trận của f trong cơ sở E là A. Tìm ảnh của một vécto cho trước.

24/ Cho ánh xạ tuyến tính f biết ma trận của f trong cơ sở E là A. Tìm cơ sở, số chiều của nhân và ảnh của ánh xạ tuyến tinh.