Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 15
  1. #1
    Tham gia
    13-05-2003
    Location
    HCMC
    Bài viết
    11
    Like
    0
    Thanked 0 Times in 0 Posts

    [Q] Ai giup minh bai toan ve MA TRAN

    Mình co đề bài như sau:
    Nhập vao một ma trận vuông cấp n. Viết chương trình xem ma trận đó co khả nghịch hay không, và in ra ma trận nghịch đảo của nó.
    Xin các bạn cho mình giải thuật, hoặc viết hết nguyên chương trình cũng được.
    Ai giúp mình, mình xin cám ơn trước.
    Quote Quote

  2. #2
    Tham gia
    12-08-2002
    Location
    HCMC
    Bài viết
    67
    Like
    0
    Thanked 1 Time in 1 Post
    ma trận khả nghịch là gì, còn nghịch đảo của ma trận là sao

  3. #3
    Tham gia
    24-05-2003
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn có thể tìm đọc các sách về đại số tuyến tính, đều có thuật giải của bài toán này.

  4. #4
    Tham gia
    17-09-2002
    Location
    SMA
    Bài viết
    749
    Like
    0
    Thanked 3 Times in 3 Posts
    Nếu biết ma trận chắc bạn đã biết pp khử Gauss... Biết pp này thì bài toán của bạn giải quyết được.

  5. #5
    Tham gia
    28-05-2003
    Location
    hcm
    Bài viết
    27
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn hãy tham khảo lại taón cao cấp 1 đi thì sẻ tìm ra thuật giải ngay ấy mà.

  6. #6
    Tham gia
    13-05-2003
    Location
    HCMC
    Bài viết
    11
    Like
    0
    Thanked 0 Times in 0 Posts
    Sách về đại so Tuyen tinh thì minh có cả đống , và mình cũng biết cách tìm ma trận nghịch đảo trên giấy. Nhưng vấn đề ở đây là, làm sao để lập trình trên Pascal.

    Phuong pháp khử Gauss coi bộ không khả thi. Dùng phuong pháp G-Jordan thì được đó, nhưng cũng khó làm trên pascal quá (nếu ai biết thì chỉ giúp), còn mỗi cách dùng định thức là thiết thực nhất. Các bạn ơi chỉ mình cách dùng định thức đi!

    Vì nếu dùng G-J thi nó sẽ in ra một đống số thực, khổ lắm!
    Hình như toán cao cấp A 1 đâu có nói gì về mấy cái ma trận này đâu nhỉ?

    Mình chỉ mới biết cách tinh định thức thông thường và cách chuyển vị một ma trận thôi. ai muon biet chi tiet ve cach tinh dinh thuc, va ma tran chuyen vi thi mail cho minh.

    Chi cần các bạn viết ra giải thuật để tính từng hệ số trong ma trận ngịch đảo là ok!

  7. #7
    Tham gia
    17-09-2002
    Location
    SMA
    Bài viết
    749
    Like
    0
    Thanked 3 Times in 3 Posts
    Hi, mình có góp ý nhá...
    Ma trận thường có hai loại phân tích, phân tích giải tích và phân tích số. Phân tích số là loại thường dùng nhất hiện nay bởi vì nhanh và tiện lợi. Phân tích giải tích thường dùng trong trường hợp ma trận nhỏ.
    Ví dụ với bài toán tính nghịch đảo ma trận thì pp số dễ nhất và đơn giản nhất là khử Gauss. Mình ko hiểu ý bạn nói là "in ra một đống số thực" là sao? Dùng định thức là cách tệ nhất vì số phép toán nhiều nhất. Bạn nghĩ là tính định thức là dễ sao? Bạn tính định thức một ma trận 100x100 thử xem? Nó tương đương với việc tính nghịch đảo một ma trận 100x100 đó. Và cũng cần biết thêm là cách tính định thức đơn giản và nhanh nhất cũng là khử Gauss.
    Toán A1 (ở trong Nam là A2), hay đại số tuyến tính chỉ nói về các pp giải tích thôi. Các pp này chỉ là học cho biết về khái niệm chứ ít khi dùng trong các bài toán kỹ thuật cao lém. Bạn muốn tìm hiểu thêm về ma trận và các pp số liên quan thì tìm hiểu môn Numerical Analysis (hay Phương pháp số, phương pháp tính) á.
    Thân

  8. #8
    Tham gia
    13-05-2003
    Location
    HCMC
    Bài viết
    11
    Like
    0
    Thanked 0 Times in 0 Posts
    Minh hiểu bạn muốn nói gì mà. Phương phương dùng để tính ma trận nghịch đảo trên giấy tờ thì thường dùng cách khử Gauss- Jordan gì đó.
    Nhưng mình muốn lập trình trên Pascal. Nếu lập trình theo hướng khử Gauss, chúng ta sẽ chỉ nhận được một đống số thực. Không tin thì bạn cứ làm thử. Để chương trình có thể dùng được, mình nghĩ là phải dùng định thức.
    Tính định thức ma trận vuông cấp <=100 thì rất dễ (tất nhiên là để cho Pascal tính, vì chúng ta chỉ ghi ra câu lệnh và thuật toán, cứ thế mà chương trình sẽ chạy thôi).
    XIn được nhắc lại một lần nữa, mình muốn viết chương trình tính ma trận nghịch đảo, chứ không phải là muốn tìm hiểu cách tính ma trận nghịch đảo.
    Chẳng lẽ, chưa có ai từng làm qua loại bài này sao? hic hic...
    Các bạn ơi! giúp mình với nào, đừng dấu nghề nữa chứ!

  9. #9
    Tham gia
    13-05-2003
    Location
    HCMC
    Bài viết
    11
    Like
    0
    Thanked 0 Times in 0 Posts
    à còn nữa! trên giấy trắng mực xanh. Nếu dùng cách khử Gauss làm thế nào mà tính được ma trận nghịch đảo nhỉ? Mình nghĩ là phải dùng Gauss-Jordan chứ, phải không?
    Thân

  10. #10
    Tham gia
    17-09-2002
    Location
    SMA
    Bài viết
    749
    Like
    0
    Thanked 3 Times in 3 Posts
    Hihì, loại toán ma trận này mình đụng hàng ngày mờ. Bạn đã thử tính định thức của ma trận 100 bằng định nghĩa chưa? Trung bình (n!)^2 phép tính nhân ko kể tính cộng. Với tốc độ vài tỉ phép tính như hiện nay thì cần vài ngày á. Ko đơn giản như bật máy cho chạy là ra kết quả đâu.
    Mình vẫn ko hiểu bạn nói: "một đống số thực" là sao? Ma trận số thực chứ có sao đâu?
    Tìm ma trận nghịch đảo có ít ứng dụng lém (ứng dụng thường gặp nhất là giải hệ, tuy nhiên dùng cách khác tốt hơn nhiều, ngoài ra còn gặp trong điều khiển tự động...). Mình ko biết tên gọi thế nào cho đúng, nếu sách của bạn ghi là Gauss-Jordan thì cũng đâu sao Cách mình nói là khử một lúc 2 ma trận, một ma trận ban đầu với một ma trận đơn vị bẳng Gauss elimination. Khi ma trận ban đầu -> đơn vị thì ma trận đơn vị -> nghịch đảo. Cách này tốn chỉ khoảng 2n^2 phép nhân, ít hơn nhiều so với (n!)^2 chứ? hiện nay người ta chỉ xài cách này hoặc một số cách biến thể của nó thui bạn ui...

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •