Hỏi về cách lập bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ? (2 người xem)

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

kinosa89

Thành viên mới
Tham gia
21/11/07
Bài viết
6
Được thích
0
Đại ca pro nào giúp em với

Em đang gặp một đề tài khoai quá. Đại ca nào có cao kiến thì chỉ giáo cho em nhé :
"Tạo ra bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ, do người dùng nhập vào những ô nhất định trong bảng này"
Có cần nêu giải thuật ko ??????

_______________________________

Bạn chú ý cách đặt tên đề tài nhé!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Tớ không phải dân pro nhưng mạn phép đóng góp vài lời vậy.
Cái này cứ kiến thức toán 2 + công thức excel thôi không có gì là giải thuật cả.
Để hướng người dùng nhập liệu vào những ô nhất định thì những nơi không liên quan lock nó đi. Thân!
 
To kinosa89 : Trước tiên bạn nên sửa lại tên tiêu đề;
VD: Giúp tôi tính định thức ma trân với!
Sửa nhanh đi mới có người giúp!

Nhưng mình nghỉ cái này rất khó; Nếu ma trân chỉ là những con số thì dễ
Vì bạn viết là "tính định thức của ma trận vuông 4 nhân 4 bất kỳ" Thì không dễ chút nào; Vì bất kỳ nên mình có thể cho vô dù chỉ là 1 biểu thức đại số là . . . phê luôn!

-\\/.
 
kinosa89 đã viết:
Em đang gặp một đề tài khoai quá. Đại ca nào có cao kiến thì chỉ giáo cho em nhé :
"Tạo ra bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ, do người dùng nhập vào những ô nhất định trong bảng này"
Có cần nêu giải thuật ko ??????
Những ô nhất định của đồng chí bạn ở đây là như nào, đề nghị làm rõ. Còn nếu tính định thức của ma trận vuông bạn dùng hàm :=MDETERM(array),array là mảng giá trị chứa ma trận vuông. Tôi cũng chưa rõ " bất kỳ" của đồng chí bạn là như thế nào....Mà hình như đồng chí học cùng lớp với đồng chí này :http://www.giaiphapexcel.com/forum/showthread.php?t=6032
Nếu đúng đề nghị hai đồng chí ngồi chung một bàn.

 
Lần chỉnh sửa cuối:
đây là một đề tài toán của chúng em. Mong các anh giúp đỡ tìm ra phương án giải nhé. Nếu dùng hàm thì dễ quá, ai cũng làm được nhưng cái quan trọng là tại sao làm được thế............
Ví dụ một bài mà thày em làm nhé
 

File đính kèm

kinosa89 đã viết:
đây là một đề tài toán của chúng em. Mong các anh giúp đỡ tìm ra phương án giải nhé. Nếu dùng hàm thì dễ quá, ai cũng làm được nhưng cái quan trọng là tại sao làm được thế............
Ví dụ một bài mà thày em làm nhé
Ý bạn hỏi có phải là, tính định thức ma trận vuông bằng các công thức khác nhưng không được dùng hàm MDETERM phải không? Bạn làm rõ nghĩa câu hỏi và sửa lại nội dung đề tài vì phạm quy, sẽ có nhiều người giúp bạn,
 
Chắc bạn phải cho bài lý thuyết quá (theo bạn gọi thì là giải thuật)
 
kinosa89 đã viết:
...
"Tạo ra bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ, do người dùng nhập vào những ô nhất định trong bảng này"
Giải nén file đính kèm (sưu tầm).
Vào Excel nhấn Tools/ Add-Ins, chọn Browse để tìm đến file MatrixL.xla trong thư mục mà bạn vừa giải nén. Nhấn OK để đóng hộp thoại Add-Ins...
Nhấn Alt+F11 để vào VBA, xem code của các hàm về Ma trận (có rất nhiều đấy!).
Bạn có thể mở file Matrix_List.xls để xem danh sách các hàm về ma trận. Trong file này mình cũng có sưu tầm thêm 1 đoạn code (nhưng viết trên VB) để xác định định thức ma trận. Bạn có thể cải tiến đôi chút để sử dụng được trên VBA.
 

File đính kèm


"Tạo ra bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ, do người dùng nhập vào những ô nhất định trong bảng này"
Lâu lắm rồi tôi không ôn lại toán cao cấp, Bạn tham khảo bài toán tôi làm về tính ma trận vuông cấp 4.
 

File đính kèm

anh nvson làm gì thế em không hiểu
Anh có thể chỉ bảo thêm được ko ạ!
Hãy bắt tay vào làm xem sao đi. Còn thepoor chắc là khác trường nên em chưa liên lạc được (huhuhuhu.......)
Các đại ca hãy giúp em với. Gửi bản demo cũng được
thank các đại ca nhiều

còn anh phamnhukhang anh làm như thế thì ma trận cấp n anh làm thế nào a????
Theo em nghĩ phải dùng Gauss mới được
 
Chỉnh sửa lần cuối bởi điều hành viên:
kinosa89 đã viết:
còn anh phamnhukhang anh làm như thế thì ma trận cấp n anh làm thế nào a????
Theo em nghĩ phải dùng Gauss mới được
Yêu cầu thế nào thì làm thế đấy !
...Tạo ra bảng tính Excel để tính định thức của ma trận vuông 4 nhân 4 bất kỳ..
Chắc bạn nghĩ chúng tôi nhiều thời gian lắm. Muốn tính ma trận cấp n thì gửi thư cho Bill Gates.OK?
 
thế em mới phải nhờ các anh. Mong các anh nghĩ cho em thuật toán hoặc làm cho em cái khung thì chắc em sẽ làm được tiếp thôi
Thank các đại ca đã có ý giúp em nhé!!!!!!!!!
 
kinosa89 đã viết:
đây là một đề tài toán của chúng em. Mong các anh giúp đỡ tìm ra phương án giải nhé. Nếu dùng hàm thì dễ quá, ai cũng làm được nhưng cái quan trọng là tại sao làm được thế............

kinosa89 đã viết:
anh nvson làm gì thế em không hiểu
Anh có thể chỉ bảo thêm được ko ạ!

Như vậy là bạn muốn tìm hiểu thuật toán để tính ma trận.
Khởi động Excel, nhấn Alt+F11 để vào VBA.
Nhấn Insert/ Module rồi thêm đoạn code sau:
Mã:
Option Explicit
Function Determinant(rngData As Range)
Dim Matrix()
Dim deter As Double, Norder As Integer
Dim k, k1, i, j As Integer
Dim save As Single
Dim check As Boolean
If rngData.Rows.Count <> rngData.Columns.Count Then
    MsgBox "Kiem tra lai kich thuoc ma tran!", vbInformation
    Determinant = "#VALUE!"
    Exit Function
End If
deter = 1
Norder = rngData.Rows.Count
ReDim Matrix(1 To rngData.Rows.Count, 1 To rngData.Columns.Count)
For i = 1 To rngData.Rows.Count
    For j = 1 To rngData.Columns.Count
        Matrix(i, j) = rngData.Cells(i, j)
    Next j
Next i
For k = 1 To Norder
    If Matrix(k, k) = 0 Then
        j = k
        Do
            check = True
            If Matrix(k, j) = 0 Then
                If j = Norder Then
                    deter = 0
                    Exit Function
                End If
                check = False
                j = j + 1
            End If
            If Matrix(k, j) <> 0 Then
                For i = k To Norder
                    save = Matrix(i, j)
                    Matrix(i, j) = Matrix(i, k)
                    Matrix(i, k) = save
                Next i
                deter = -deter
            End If
        Loop While check = False
    End If
    deter = deter * Matrix(k, k)
    If k - Norder < 0 Then
        k1 = k + 1
        For i = k1 To Norder
            For j = k1 To Norder
                Matrix(i, j) = Matrix(i, j) - (Matrix(i, k) * Matrix(k, j) / Matrix(k, k))
            Next j
        Next i
    End If
Next k
Determinant = deter
End Function
Trở về Excel, và sử dụng hàm mình đã tạo ra để tính định thức của ma trận vuông bất kỳ (hãy so sánh kết quả giữa hàm mình vừa tạo Determinant và hàm chuẩn của Excel nhé MDETERM).
Và cái quan nhất đối với bạn có lẽ là tìm hiểu đoạn code trên cho hiểu.
 
Thanks a Nvson, thuật toán rất hay...em không thạo về code lắm nhưng nếu bổ sung thêm cho chọn vùng ma trận bằng chuột nữa thì hay hơn.
To Kinosa89 : Nếu từ đầu bạn nói là muốn tìm hiểu code viết về hàm tính ma trận thì hơn. Rút kinh nghiệm khi đặt câu hỏi nhé.Thân !
 
Nếu bạn chỉ muốn tính bằng toán cao cấp A2 thì download file sau (all)
 

File đính kèm

thank các đại ca đã trả lời giúp em. Đây là câu hỏi thày em ra mà. Chính em cũng không hiểu là cần phải làm như thế nào. Nên mới cần hỏi?????
Nhưng đề tài thì không thể dùng hàm để giải được vì thể quá đơn giản không cần 3 người làm: 1 người đặt ý tưởng, 1 người thực hiện, 1 người kiểm tra lại kết quả.........
THANK CÁC HUYNH NHIỀU. HI VỌNG CÁC CÂU TRẢ LỜI TRÊN ĐÚNG
 
Bạn học cùng trường với tui rồi.Lớp mấy vậy?
Tôi cũng chưa tìm hiểu về Excel,nhưng tôi đoán ý thầy là xây dựng các phép tính để tính matrix 4*4 không dùng hàm sẵn có.(đôi khi cũng phải đi đường vòng)
Điều quan trọng là bị gò bó trong excel,chứ nếu lập trình thì quá đơn giản với
C++.

Hình như có một anh đã làm rồi.Bạn cần gì phải tính đến matrix cấp n chứ.Nếu muốn sáng tạo thì lập trình đi^_^.
 
Chỉnh sửa lần cuối bởi điều hành viên:
thank! sao tính xong kiểm tra lại nó lại sai bét nhĩ!
 

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

Back
Top Bottom