Chủ đề: Ma Trận Nghịch đảo - Diễn Đàn Tin Học
Có thể bạn quan tâm
Ghi nhớ?
- Tìm kiếm chi tiết
- Diễn đàn
- Lập trình
- Các ngôn ngữ lập trình
- C/C++
- Ma trận nghịch đảo
- Jump to page:
-
Hỗ trợ
- Phiên bản để in
- Giới thiệu cho bạn bè…
- Theo dõi chủ đề này…
-
Rate This Thread
- Current Rating
- Excellent
- Good
- Average
- Bad
- Terrible
- 29-04-2008 22:32 #1 quangduc08
- View Profile
- View Forum Posts
- View Articles
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 - 29-04-2008 23:14 #2 VuongChieuQuan
- View Profile
- View Forum Posts
- View Articles
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 - 30-04-2008 07:45 #3 quangduc08
- View Profile
- View Forum Posts
- View Articles
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 - 30-04-2008 08:38 #4 VuongChieuQuan
- View Profile
- View Forum Posts
- View Articles
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 - 02-05-2008 11:14 #5 quangduc08
- View Profile
- View Forum Posts
- View Articles
ý 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 - 02-05-2008 16:09 #6 VuongChieuQuan
- View Profile
- View Forum Posts
- View Articles
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 - 11-06-2008 11:19 #7 utxike
- View Profile
- View Forum Posts
- View Articles
thank you very much
Quote - 13-05-2009 00:12 #8 thientran89
- View Profile
- View Forum Posts
- View Articles
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 - 13-05-2009 10:32 #9 ptaminh
- View Profile
- View Forum Posts
- View Articles
Được gửi bởi thientran89 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 - 04-12-2009 22:55 #10 emnoidayvancho
- View Profile
- View Forum Posts
- View Articles
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
- Jump to page:
- 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
- Hoạt động Off-line
- Các cuộc thi dành cho DDTH.com
- Sinh nhật DDTH.com
- Hội Cầu Lông DDTH.com
- Công tác xã hội
- Tin Học Xanh
- Nhật ký THX
- Thông báo
- Thông báo cũ
- Góp ý, đề nghị
- Nhắc nhở - Vi phạm
- Ứng tuyển moderator
- Hoạt động Off-line
- Thảo luận chung
- CNTT Việt Nam và Quốc tế
- Các cuộc thi CNTT
- Tin tức CNTT
- Tin PR & Khuyến mãi
- ISP - ICP - OSP
- Viettel
- FPT
- VNPT
- CMC
- SPT
- Nghề nghiệp
- Tư vấn pháp luật
- Thương mại điện tử
- Advertisers & Publishers
- Search Engine Optimization/Marketing
- Review sản phẩm & công nghệ
- Startup-Khởi Nghiệp!
- CNTT Việt Nam và Quốc tế
- Tư vấn - Thị trường & Kiến thức cần biết
- Tin học căn bản
- Máy tính & Sức khỏe
- Hỗ trợ kỹ thuật
- Phần mềm
- Softwares Request
- Giới thiệu phần mềm
- Máy tính để bàn
- CPU & Mainboard & Memory
- VGA & PSU & Overclocking
- Phần cứng chung & Thiết bị ngoại vi
- Laptop
- Dell
- Tin học căn bản
- Mobile devices
- iPhone & iPad
- iOS Apps
- Android Smartphones
- Android Apps
- BlackBerry
- BlackBerry Apps
- Windows Phones
- Windows Phones Apps
- Wireless Technology
- Tablets
- Discussion
- iPhone & iPad
- Đào tạo
- Công nghệ giáo dục
- Học về CNTT
- Du học
- E-books
- Requests
- Chứng chỉ tin học quốc tế
- Microsoft
- Cisco
- Hand-on Lab
- Technology
- Những chứng chỉ khác
- GroupStudy
- English Room
- Lập trình
- Các ngôn ngữ lập trình
- .NET
- C/C++
- Visual Basic
- Pascal/Delphi/Kylix
- Java
- Các vấn đề khác trong lập trình
- Projects
- Data Structures + Algorithms
- GameDev Zone
- Các ngôn ngữ lập trình
- Hệ thống - Mạng
- Security Zone
- Anti-DDoS
- Windows
- Linux - Unix
- LAN - WAN
- Security Zone
- Internet & Web & Multimedia
- Lập trình web
- DDTH-CMS
- Thiết kế web
- Shockwave Flash
- Graphic Design
- HTML - CSS
- Design Resources
- CMS
- Yêu cầu thiết kế
- CLB Webmasters
- Hot Links !!!
- Scripts - Mods
- Showcase
- Xử lý phim / âm thanh
- Photoshop & Illustration
- 3D World
- Game
- Lập trình web
- Cơ sở dữ liệu
- MS SQL Server
- Oracle
- Hệ CSDL khác
- Domains/Hosting
- Web Hosting / Domain
- Cloud Computing
- Dedicated Hosting / VPS
- Technical & Security
- Advertising
- Hosting Support
- VinaCIS
- Web Hosting / Domain
- Giao lưu - Thư giãn
- Tự giới thiệu - Giao lưu
- Interview
- Miền Bắc
- Miền Trung
- Social Networks
- Góc thư giãn
- Văn tuyển Làng Mùi
- Truyện cười
- Chuyện thời sự
- Đố vui
- Music - Movie - Sport
- Nhiếp ảnh
- Albums
- Máy ảnh - Máy quay phim - Phụ kiện
- Bóng Đá
- Tự giới thiệu - Giao lưu
- Trung Tâm Giao Dịch
- Linh Kiện PC - Laptop
- Điện thoại, tablet và phụ kiện
- Server, domain, hosting
- Giáo dục, đào tạo về CNTT
- Việc làm CNTT
- Người tìm việc
Bookmarks
Bookmarks
- Digg
- del.icio.us
- StumbleUpon
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.vnTừ khóa » Thuật Toán Tính Ma Trận Nghịch đảo
-
Ma Trận Nghịch đảo Là Gì? - Cẩm Nang Điện Máy
-
Ma Trận Nghịch đảo (khả Nghịch) | Maths 4 Physics & More...
-
27) Toán 2 - Tìm Ma Trận Nghịch đảo (Phần 1)
-
Giải Thích Về Thuật Toán Tính Ma Trận Nghịch đảo
-
Cách Tính Ma Trận Nghịch đảo Bằng Máy Tính - TopLoigiai
-
Tính Ma Trận Nghịch Đảo
-
Tìm Ma Trận Nghịch đảo Trong C
-
[PDF] Ma Trận Nghịch đảo Và Phân Tích LU
-
Ma Trận Nghịch đảo Là Gì
-
Cách Tính Ma Trận Nghịch đảo
-
[PDF] BỔ TÚC CÁC THUẬT TOÁN VỀ MA TRẬN & HỆ PHƯƠNG TRÌNH.
-
Cách Tìm Ma Trận Nghịch đảo 2x2, 3x3, 4x4 Chính Xác 100%
-
Lý Thuyết Toán Ma Trận Sử Dụng Trong Các Thuật Toán Machine Learning