Các thắc mắc về Ma trận và công thức tính Ma trận trong Excel (1 người xem)

Người dùng đang xem chủ đề này

thansau46xd

Thành viên mới
Tham gia
6/7/07
Bài viết
3
Được thích
0
Hỏi về cách nhân ma trận trong excel!

Các bác cao thủ ơi giúp em với! em có 2 ma trận vuông cấp 20 muốn nhân với nhau trong excel mà ko dùng VBA thì liệu có cách nào không ạh! Mong các bác chỉ giáo cho em! :=\+
 
Dùng hàm này
=MMULT(array1, array2)
array1, array2 : là 2 Ma trận cần nhân.
MatrậnA x Matrận B ĐK là:số cột của A= số dòng của B.
Lưu ý nhập xong nhấn tổ hợp phím: Ctrl + Shift + Enter --> thế là OK
 
Nhân ma trận với số cột lớn

Chào cả nhà
Mình có một bài toán nhân một ma trận với ma trận chuyển vị của nó, nhưng mà mình gặp rắc rối ở chỗ ma trận của mình có 7 cột và 1200 dòng nên khi chuyển vị (dòng thành cột, cột thành dòng) thì excel không thể làm được vì không đủ cột. Nhờ cả nhà chỉ giùm mình cách nhân hai ma trận ấy với.
 
Lần chỉnh sửa cuối:
Tôi nghĩ rằng có thể có cách nào đó cho việc trình bày số lượng 1200 cột này, vấn đề là bạn có chấp nhận cách trình bày đó hay không thôi. Còn việc cho tạo ra kết quả một ma trận 1200 cột là không khó.
 
OK, mục đích của mình là kết quả phép nhân ma trận thôi (7 dòng, 7 cột) chứ không nhất thiết phải trình bày cái ma trận chuyển vị đó.
 
Để thực hiện các phép tính với ma trận, bạn có thể nghiên cứu các hàm tính ma trận của Excel, có sẵn ở đây.
Hoặc bạn có thể cho một ví dụ cụ thể, chúng tôi sẽ cố gắng giúp bạn. Chứ chỉ nói lý thuyết suông như vầy thì khó giúp lắm.
 
OK, mục đích của mình là kết quả phép nhân ma trận thôi (7 dòng, 7 cột) chứ không nhất thiết phải trình bày cái ma trận chuyển vị đó.

Bạn gửi 2 ma trận cần nhân trong tập tin Excel lên diễn đàn và ghi yêu cầu trong đó để mọi người dễ hình dung câu hỏi của bạn hơn.

Nếu bạn chỉ muốn tìm kết quả của phép nhân ma trận thì bạn dùng hàm mmult, chi tiết hơn thì bạn đọc bài sau:
http://www.giaiphapexcel.com/forum/showthread.php?t=7195

Thanh Phong
 
Tôi thử làm với ma trận có 300 hàng (chuyển vị nó không được) bằng định nghĩa nhân ma trận
nhưng sử dụng công thức tính từng phần tử của ma trận đó bằng hàm sumproduc.
Gửi bạn file đính kèm, có chỉ dẫn chi tiết cách nhập tham số của hàm sumproduc một cách nhanh chóng.

Tôi gửi lại file
 

File đính kèm

Lần chỉnh sửa cuối:
Mượn file của haonlh, cũng côngthức của hao, nhưng dùng name để sao chép công thức dễ hơn.
 

File đính kèm

Đêm qua, về nằm nghĩ có thể thực hiện bình thường bằng các hàm của Excel, nhưng phải thử lại. Nay thấy kết quả tốt, xin gửi FILE, có đủ số liệu lên anh em xem.

Vấn đề là coi ma trận 7 cột, 7000 hàng của bạn là ma trận đã chuyển vị, gọi tên là AT.
Ta cần tính A x AT.

Tôi dùng công thức thông thường, không tính riêng chuyển vị của AT mà lồng hàm:

=MMULT(TRANSPOSE(AT),AT)

Như vậy không cần vùng chứa TRANSPOSE(AT) (7000 cột).

Bận quá, không đọc được file của ptm0412. Chào.
 

File đính kèm

Ok, nhờ các Bác mà em làm bài được rồi, cảm ơn các bác nhiều lắm lắm.
 
Ai có chương trình tìm ma trận nghịch đảo cho mình với nào
 
Dùng hàm MINVERSE để tính ma trận nghịch đảo, hàm MMULT để nhân 2 ma trận, cả 2 đều là hàm mảng nên phải kết thúc việc nhập công thức bằng Ctrl Shift Enter. Bạn xem file đính kèm.
 

File đính kèm

Đây là ma trận 2x2 còn nhiều hơn thì sao?
 
Nhiều hơn thì cũng vậy, ma trận n x n cũng được, lúc chọn array ta chọn ma trận n x n đó là xong.
 
Lần chỉnh sửa cuối:
Nghịc đảo dùm mình ma trận này với nào
 

File đính kèm

Nghịc đảo dùm mình ma trận này với nào
Như vầy chứ gì:
000-2138.jpg
 
Cách làm đi bạn ơi gửi cho mình file bạn làm với
 
Thì cái file bạn gửi lên đó:
  1. Nhấn chọn một dãy ô có kích thước bằng với kích thước của ma trận cần tính nghịch đảo.
  2. Gõ vào: =MINVERSE(
  3. Dùng chuột quét hết vùng ma trận cần tính nghịch đảo.
  4. Đóng ngoặc đơn.
  5. Nhấn Ctrl+Shift+Enter.
  6. Xong.
 
Thanks nha giờ mình muốn nhân ma trận 6x6 và 1x6 làm thế nào. Nhân ma trận vừa nghịch đảo đó với ma trân {0 0 0 -500 0 -500}
 
Thanks nha giờ mình muốn nhân ma trận 6x6 và 1x6 làm thế nào. Nhân ma trận vừa nghịch đảo đó với ma trân {0 0 0 -500 0 -500}
Bạn phải xác định rõ cái ma trận 1x6 của bạn là ma trận 1 cột 6 hàng hay là ma trận 1 hàng 6 cột. Bởi lẽ kết quả của phép nhân 2 ma trận sẽ khác nhau.

Để thực hiện được phép nhân 2 ma trận (ví dụ A = B x C) thì buộc phải thỏa các yêu cầu sau:
  • Số cột của B phải bằng số dòng của C
  • Các phần tử trong cả 2 ma trận B và C phải là các giá trị số
  • Phải dùng công thức mảng cho phép nhân 2 ma trận (nhấn Ctrl+Shift+Enter sau khi nhập công thức)

Thôi thì làm luôn cho bạn 2 ví dụ nhé.

Giả sử ma trận 1x6 của bạn là ma trận 1 cột 6 hàng:
000-2326.jpg


Công thức ở G22 là một cách viết khác, nghĩa là tôi không cần kẻ cái ma trận 1x6 ra mà nhập thẳng nó vào trong công thức luôn, với dấu chấm phẩy (;) là dấu báo cho Excel biết các phần tử này nằm trong từng dòng.​


Giả sử ma trận 1x6 của bạn là ma trận 1 hàng 6 cột:
001-64.jpg


Ở đây cũng vậy, công thức ở G20 là một cách viết khác, nghĩa là tôi không cần kẻ cái ma trận 1x6 ra mà nhập thẳng nó vào trong công thức luôn, với dấu phẩy (,) là dấu báo cho Excel biết các phần tử này nằm trong từng cột.​


Bạn xem và suy ngẫm thêm nhé.
Để tìm hiểu về các hàm ma trận, bạn tham khảo ở đây (và những bài tiếp theo nó): http://www.giaiphapexcel.com/forum/showthread.php?p=54502#post54502
 
okie, mình đưa bài toán nhân 2 ma trận, nhưng dùng hàm MMULT(array1, array2) sau đó nhấn Ctrl+Shift+Enter. Nhưng bây giờ pác có thể dùng hàm sumproduct hay hàm nào khác để nhân mà không cần dùng hàm MMULT không ? thanks pác nhìu

tính bài này nhưng không dùng hàm MMULT, chỉ được dùng sumproduct hoặc các hàm khác không liên quan đến ma trận......thanks các pác trước.....
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Bạn hỏi có 1 chuyện mà mở 3 topic khác nhau.
 

File đính kèm

không dùng luôn transpose thì sao ạh ?

thanks pác nhìu,pro wá...... Nhưng cho e hỏi thêm, nếu không dùng luôn hàm transpose thì sao ạh ? Vì thầy e nói hàm đó chưa dạy, chưa cho dùng, hix....
 
tích 2 ma trận

làm ơn chỉ em cách tính tích 2 ma trận mà không dùng hàm mmult dc k? em cảm ơn nhìu lám:-=

Xem bài trên
ptm0412
 
Chỉnh sửa lần cuối bởi điều hành viên:
các bác cho e hỏi trong excel muốn nghịch đảo ma trận mà không phải ma trận vuông thì làm thế nào a, e muốn nghịch đảo ma trận 4x9 mà ko biết phải làm thế nào, các bác giúp e với:-=
 
Ma trận không vuông không có nghịch đảo
Ma trận vuông mà định thức bằng 0 cũng không có nghịch đảo

Việc giải hệ phương trình tuyến tính AX = B có số phương trình là m nhỏ hơn số ẩn (là n) có thể giải được bằng ma trận trong Excel, nhưng nghiệm có "thành phần tự do" (lâu rồi, dùng từ có thể không chuẩn) bằng kỹ thuật tách
A = A1 + A2 với A1 vuông (cấp m) và det(A1)<>0
và X =(x1, x2,..., xn ) = X1 + X2 với X1 = (x1, x2,...,xm,0,0,...,0) và X2 = X - X1

đặt X1' là X1 đã bỏ n - m số 0 ở cuối, X2' là x2 đã bỏ m số 0 ở đầu
=> AX = (A1 + A2)X = A1 X1' + A2 X2' = B
=> A1 X1' = B - A2 X2'
=> X1' = (nghịch đảo của A1) * (B - A2 X2')
Các biến x từ m+1 đến cuối là tuỳ ý (ở trên tôi nói là "thành phần tự do"
 

Bài viết mới nhất

Back
Top Bottom