Chủ đề: Ma Trận Nghịch đảo - Diễn Đàn Tin Học

Diễn Đàn Tin Học - Powered by vBulletin Ghi nhớ?
  • Tìm kiếm chi tiết
  • Home
  • Diễn đàn
  • Lập trình
  • Các ngôn ngữ lập trình
  • C/C++
  • Ma trận nghịch đảo
Trang 1 / 2 12 Tiếp theo LastLast
  • Jump to page:
Hiển thị kết quả từ 1 đến 10 / 12 Chủ đề: Ma trận nghịch đảo
  • Hỗ trợ
    • Phiên bản để in
    • Giới thiệu cho bạn bè…
    • Theo dõi chủ đề này…
  • Rate This Thread
    • Excellent
    • Good
    • Average
    • Bad
    • Terrible
  1. 29-04-2008 22:32 #1 quangduc08's Avatar quangduc08
    • View Profile
    • View Forum Posts
    • View Articles
    quangduc08 is offline Registered User Tham gia 29-04-2008 Bài viết 13 Like 0 Thanked 0 Times in 0 Posts

    Thông tin Ma trận nghịch đảo

    Các pác giup mình viết đoạn code ve ma trận nghịch đảo với phân tích chút it nửa nha .Ông thầy bắt làm thuyêt trình bài này ,mình kiếm nhiều ngày rùi may ko dc gì hết
    Quote Quote
  2. 29-04-2008 23:14 #2 VuongChieuQuan's Avatar VuongChieuQuan
    • View Profile
    • View Forum Posts
    • View Articles
    VuongChieuQuan is offline Registered User Tham gia 26-01-2008 Bài viết 359 Like 0 Thanked 3 Times in 3 Posts
    Bạn xem qua bên dưới, còn thuật toán thì bạn lên đọc qua sách, tính ma trận nghịch đảo có nhiều thuật toán. Code: void MatAlgebra(double **x,double **a) { int i,j,k; double Sum,m; double **b, **q; b=new double *[N+1]; q=new double *[N+1]; for (i=1; i<=N; i++) { b[i] = new double [N+1]; q[i] = new double [N+1]; } for (i = 1; i <= N;i++) for (j = 1; j <= N;j++) { b[i][j] = 0; q[i][j] = a[i][j]; if (i == j) b[i][j] = 1; } // Perform row operations for (k = 1;k <= N-1;k++) for (i = k+1;i <= N;i++) { m = q[i][k]/q[k][k]; for (j = 1;j <= N;j++) { q[i][j] -= m*q[k][j]; b[i][j] -= m*b[k][j]; } } }
    Quote Quote
  3. 30-04-2008 07:45 #3 quangduc08's Avatar quangduc08
    • View Profile
    • View Forum Posts
    • View Articles
    quangduc08 is offline Registered User Tham gia 29-04-2008 Bài viết 13 Like 0 Thanked 0 Times in 0 Posts

    Thông tin

    void MatAlgebra(double **x,double **a) { int i,j,k; double Sum,m; double **b, **q; b=new double *[N+1]; q=new double *[N+1]; for (i=1; i<=N; i++) { b[i] = new double [N+1]; q[i] = new double [N+1]; mấy chỗ khai bào này ko hiểu (double **x,double **a) double sum,m; double **b,**q; b=new double *[N+1]; q=new double *[N+1}; b[i] = new double [N+1]; q[i] = new double [N+1]; những khai bào này mình chưa học qua nữa new double ?????????
    Quote Quote
  4. 30-04-2008 08:38 #4 VuongChieuQuan's Avatar VuongChieuQuan
    • View Profile
    • View Forum Posts
    • View Articles
    VuongChieuQuan is offline Registered User Tham gia 26-01-2008 Bài viết 359 Like 0 Thanked 3 Times in 3 Posts
    Sử dụng C chuẩn thì bạn tham khảo cách cấp phát bộ nhớ cho mảng hai chiều với malloc mình viết tại đây:http://ddth.com/showthread.php?t=181612 . Để hiểu thêm về tính ma trận nghịch đảo và lý thyết bạn có thể search với từ khóa "inverse matrix algorithm".
    Quote Quote
  5. 02-05-2008 11:14 #5 quangduc08's Avatar quangduc08
    • View Profile
    • View Forum Posts
    • View Articles
    quangduc08 is offline Registered User Tham gia 29-04-2008 Bài viết 13 Like 0 Thanked 0 Times in 0 Posts
    ý minh hỏi là khi 1 ma tran A rùi xuất ra ma tran A này ,sau đó mình muon xuất ra ma trận nghịch đảo của A đó phải viết code như thế nào giải thuật nó ra làm sao cam on
    Quote Quote
  6. 02-05-2008 16:09 #6 VuongChieuQuan's Avatar VuongChieuQuan
    • View Profile
    • View Forum Posts
    • View Articles
    VuongChieuQuan is offline Registered User Tham gia 26-01-2008 Bài viết 359 Like 0 Thanked 3 Times in 3 Posts
    Những bài kiểu này thuộc môn chuyên ngành, mình đã nói rồi nếu bạn muốn học, muốn biết thì bạn phải đọc sách, tìm hiểu các giáo trình... có rất nhiều thuật toán tính ma trận nghịch đảo như Gauss, Cholesky... nó thuộc về bộ môn giải tích số. Vậy để hiểu về thuật toán tìm cuốn "Giáo trình giải tích số" (của tác giả nào cũng được - có thể dùng quyển của Phạm Kỳ Anh - ĐHQGHN), chứ trình bày cả cái thuật toán lên đây thì loằng ngoằng với lại ai có thời gian viết như vậy cho bạn. Mình code lại hoàn chỉnh thuật toán tìm ma trận nghịch đảo trên bằng stand C, chạy ổn rồi đấy, bạn cứ xem kỹ nó đi : PHP Code: #include <stdio.h> #include <conio.h> #include <malloc.h> #include <stdlib.h> #define N 4 void main() { int i,j,k; double Sum,m; double **A, **B, **X; // A = (double**) malloc( (N+1)*sizeof(double*)); B = (double**) malloc( (N+1)*sizeof(double*)); X = (double**) malloc( (N+1)*sizeof(double*)); for (i=1;i<=N;i++) { A***91;i***93; = (double*) malloc( (N+1)*sizeof(double)); B***91;i***93; = (double*) malloc( (N+1)*sizeof(double)); X***91;i***93; = (double*) malloc( (N+1)*sizeof(double)); } // Input value for matrix A and B where B is unit matrix for (i = 1;i <= N; i++) for (j = 1;j <= N; j++) { printf("A***91;%d***93;***91;%d***93; = ",i,j); scanf("%f",&A***91;i***93;***91;j***93;); if (i == j) B***91;i***93;***91;j***93; = 1; else B***91;i***93;***91;j***93; = 0; } // row operations // Start algorithm for (k = 1;k <= N-1; k++) for (i = k+1;i <= N; i++) { m = A***91;i***93;***91;k***93; / A***91;k***93;***91;k***93;; for (j = 1;j <= N; j++) { A***91;i***93;***91;j***93; -= m*A***91;k***93;***91;j***93;; B***91;i***93;***91;j***93; -= m*B***91;k***93;***91;j***93;; } } // backward substitutions for (i = N;i >= 1; i--) for (j = 1;j <= N; j++) { Sum = 0; X***91;i***93;***91;j***93; = 0; for (k = i+1;k <= N; k++) Sum += A***91;i***93;***91;k***93;*X***91;k***93;***91;j***93;; X***91;i***93;***91;j***93; = (B***91;i***93;***91;j***93; - Sum) / A***91;i***93;***91;i***93;; } // End of the algorithm !!!! // Print out the resul, you can do anything you want here ! for (i = 1;i <= N; i++) { for (j = 1;j <= N; j++) printf("%f\t",X***91;i***93;***91;j***93;); printf("\n"); } // free memory for (i=1;i<=N;i++) { free(A***91;i***93;); free(B***91;i***93;); free(X***91;i***93;); } free(A); free(B); free(X); getch(); }
    Quote Quote
  7. 11-06-2008 11:19 #7 utxike
    • View Profile
    • View Forum Posts
    • View Articles
    utxike is offline Registered User Tham gia 11-06-2008 Bài viết 1 Like 0 Thanked 0 Times in 0 Posts
    thank you very much
    Quote Quote
  8. 13-05-2009 00:12 #8 thientran89
    • View Profile
    • View Forum Posts
    • View Articles
    thientran89 is offline Registered User Tham gia 18-11-2008 Bài viết 8 Like 0 Thanked 0 Times in 0 Posts
    cho mình hỏi , cái này "double **b" có nghĩa là gì? Sao lại có 2 dấu * ở đây? thankS !!
    Quote Quote
  9. 13-05-2009 10:32 #9 ptaminh's Avatar ptaminh
    • View Profile
    • View Forum Posts
    • View Articles
    ptaminh is offline DDTH.com Tham gia 04-02-2009 Location HCM Bài viết 270 Like 0 Thanked 2 Times in 2 Posts
    Quote Được gửi bởi thientran89 View Post cho mình hỏi , cái này "double **b" có nghĩa là gì? Sao lại có 2 dấu * ở đây? thankS !! http://www.ddth.com/showthread.php?t=181612&page=2
    Quote Quote
  10. 04-12-2009 22:55 #10 emnoidayvancho
    • View Profile
    • View Forum Posts
    • View Articles
    emnoidayvancho is offline Registered User Tham gia 15-10-2009 Bài viết 7 Like 0 Thanked 0 Times in 0 Posts
    ban nao co code giai he phuong trinh bang phuong phap grauss viet bang c# chi min voi hoac gui cho minh wa mail.hoaquynhanhphm@gmail.com min cam on cac ban nhieu min chua giai dc
    Quote Quote
Trang 1 / 2 12 Tiếp theo LastLast
  • Jump to page:
Chuyển nhanh C/C++ Top
  • Site Areas
  • Cá nhân
  • Tin nhắn
  • Subscriptions
  • Ai đang online ?
  • Tìm kiếm trong chuyên mục
  • Trang chủ
  • Chuyên mục
  • Hoạt động của DDTH
    1. Hoạt động Off-line
      1. Các cuộc thi dành cho DDTH.com
      2. Sinh nhật DDTH.com
      3. Hội Cầu Lông DDTH.com
    2. Công tác xã hội
      1. Tin Học Xanh
      2. Nhật ký THX
    3. Thông báo
      1. Thông báo cũ
      2. Góp ý, đề nghị
      3. Nhắc nhở - Vi phạm
      4. Ứng tuyển moderator
  • Thảo luận chung
    1. CNTT Việt Nam và Quốc tế
      1. Các cuộc thi CNTT
    2. Tin tức CNTT
      1. Tin PR & Khuyến mãi
    3. ISP - ICP - OSP
      1. Viettel
      2. FPT
      3. VNPT
      4. CMC
      5. SPT
    4. Nghề nghiệp
      1. Tư vấn pháp luật
    5. Thương mại điện tử
    6. Advertisers & Publishers
    7. Search Engine Optimization/Marketing
    8. Review sản phẩm & công nghệ
    9. Startup-Khởi Nghiệp!
  • Tư vấn - Thị trường & Kiến thức cần biết
    1. Tin học căn bản
      1. Máy tính & Sức khỏe
    2. Hỗ trợ kỹ thuật
    3. Phần mềm
      1. Softwares Request
      2. Giới thiệu phần mềm
    4. Máy tính để bàn
      1. CPU & Mainboard & Memory
      2. VGA & PSU & Overclocking
      3. Phần cứng chung & Thiết bị ngoại vi
    5. Laptop
      1. Dell
  • Mobile devices
    1. iPhone & iPad
      1. iOS Apps
    2. Android Smartphones
      1. Android Apps
    3. BlackBerry
      1. BlackBerry Apps
    4. Windows Phones
      1. Windows Phones Apps
    5. Wireless Technology
    6. Tablets
    7. Discussion
  • Đào tạo
    1. Công nghệ giáo dục
    2. Học về CNTT
      1. Du học
      2. E-books
        1. Requests
    3. Chứng chỉ tin học quốc tế
      1. Microsoft
      2. Cisco
        1. Hand-on Lab
        2. Technology
      3. Những chứng chỉ khác
      4. GroupStudy
    4. English Room
  • Lập trình
    1. Các ngôn ngữ lập trình
      1. .NET
      2. C/C++
      3. Visual Basic
      4. Pascal/Delphi/Kylix
      5. Java
    2. Các vấn đề khác trong lập trình
      1. Projects
      2. Data Structures + Algorithms
      3. GameDev Zone
  • Hệ thống - Mạng
    1. Security Zone
      1. Anti-DDoS
    2. Windows
    3. Linux - Unix
    4. LAN - WAN
  • Internet & Web & Multimedia
    1. Lập trình web
      1. DDTH-CMS
    2. Thiết kế web
      1. Shockwave Flash
      2. Graphic Design
      3. HTML - CSS
      4. Design Resources
      5. CMS
      6. Yêu cầu thiết kế
    3. CLB Webmasters
      1. Hot Links !!!
      2. Scripts - Mods
    4. Showcase
    5. Xử lý phim / âm thanh
    6. Photoshop & Illustration
    7. 3D World
    8. Game
  • Cơ sở dữ liệu
    1. MS SQL Server
    2. Oracle
    3. Hệ CSDL khác
  • Domains/Hosting
    1. Web Hosting / Domain
      1. Cloud Computing
      2. Dedicated Hosting / VPS
    2. Technical & Security
    3. Advertising
    4. Hosting Support
      1. VinaCIS
  • Giao lưu - Thư giãn
    1. Tự giới thiệu - Giao lưu
      1. Interview
      2. Miền Bắc
      3. Miền Trung
      4. Social Networks
    2. Góc thư giãn
      1. Văn tuyển Làng Mùi
      2. Truyện cười
      3. Chuyện thời sự
      4. Đố vui
      5. Music - Movie - Sport
    3. Nhiếp ảnh
      1. Albums
      2. Máy ảnh - Máy quay phim - Phụ kiện
    4. Bóng Đá
  • Trung Tâm Giao Dịch
    1. Linh Kiện PC - Laptop
    2. Điện thoại, tablet và phụ kiện
    3. Server, domain, hosting
    4. Giáo dục, đào tạo về CNTT
    5. Việc làm CNTT
      1. Người tìm việc
« Bài trước | Bài tiếp theo »

Bookmarks

Bookmarks
  • Submit to Digg Digg
  • Submit to del.icio.us del.icio.us
  • Submit to StumbleUpon StumbleUpon
  • Submit to Google Google

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
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Quy định DDTH.com

Theo giờ GMT +7 :: 16:06. Powered by: vBulletin version 4.2.0. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Founded by vikhoa. Developed by DDTH Members. Hosted by ODS.vn

Từ khóa » Thuật Toán Tính Ma Trận Nghịch đảo