Có bạn nào chỉ giúp mình cách code giải hệ phương trình tuyến tính dùng phương pháp gauss hoặc cramer kô
Printable View
Có bạn nào chỉ giúp mình cách code giải hệ phương trình tuyến tính dùng phương pháp gauss hoặc cramer kô
Bạn có thể tham khảo qua bài viết tính ma trận nghịch đảo theo Gauss của mình ở đây :http://ddth.com/showthread.php?t=184614
Khi tính được ma trận nghịch đảo của vế trái rồi thì chỉ cần lấy nó mà nhân với cái vectơ vế phải là ra nghiệm thôi.
theo cramer thì sao bạn ơi?
Muốn theo công thức Cramer thì bạn cần code một thuật toán để tính định thức (determinant) của ma trận. Ví dụ, phân tích LU ( http://en.wikipedia.org/wiki/LU_decomposition ) hay phân tích QR ( http://en.wikipedia.org/wiki/QR_decomposition ).
[=========> Bổ sung bài viết <=========]
Giải hệ phương trình tuyến tính bằng phép tính ma trận nghịch đảo không phải là phương pháp Gauss, mà là Gauss-Jordan. Chậm hơn Gauss đáng kể.
ban co code giai he pt bang phuong phap Gauss-Jordan chi min voi hoac gui wa mail dum min.hoa quynhanhphm@gmail.com
minhcam on ban nhieu nha.min dang lam dê tai tim hieu ve viec giai hê pt.míne tim hieu ngon ngu c++ cua ban min chi hoc C va c# thui.min cam on ban rat nhieu.
[=========> Bổ sung bài viết <=========]
cam on ban nhieu nha
minh dang lam do an mon hoc.giai he phuong tring bang phuong phap GAUSS-gom co cai dat chuong trinh bang c,neu y nghia cua viec giai bai toan ,tim hieu giai he phuong trinh tong wat
[=========> Bổ sung bài viết <=========]
ban nao chi cho minvoi .m gan nop rui nhung m ko bt lam
min cam on cac ban nhieu nha
[=========> Bổ sung bài viết <=========]
ban oi cho m hoi giai he phuong trinh tuyen tinh bang phuong phap gauss la khac voi gauss-seidel ha ban?
Đầy đủ tất cả cho bạn về vấn đề này:
Giải hệ phương trình tuyến tính Cramer
Ngoài ra bạn có thể tìm kiếm được nhiều bài khác nữa!
minh dang lam do an ve trinh bien dich de tai cua minh la "viet chuong trinh bien dich cau lẹnh if else va for" ban nao co tai lieu up cho minh voi
PHP Code:
/* Giai he phuong trinh tuyen tinh bang phep khu GAUSS - JORDAN
voi B va X la ma tran N x P */
#include <stdio.h>
#include <math.h>
#define MAX 10
double A***91;MAX***93;***91;MAX***93;, B***91;MAX***93;***91;MAX***93;, X***91;MAX***93;***91;MAX***93;;
/*void*/int gauss_jordan(int n, int p)
{
int i=0, j, done=0, m, k;
double max, c;
printf("\nTinh nghiem cua he phuong trinh");
while (!done)
{
if (A***91;i***93;***91;i***93; == 0)
{
max = 0;
m = i;
for (k=i+1; k<n; k++)
if (max < fabs(A***91;k***93;***91;i***93;))
{
m = k;
max = fabs(A***91;k***93;***91;i***93;);
}
if (m != i)
{
for (j=i; j<n; j++)
{
c = A***91;i***93;***91;j***93;;
A***91;i***93;***91;j***93; = A***91;m***93;***91;j***93;;
A***91;m***93;***91;j***93; = c;
}
for (j=0; j<p; j++)
{
c = B***91;i***93;***91;j***93;;
B***91;i***93;***91;j***93; = B***91;m***93;***91;j***93;;
B***91;m***93;***91;j***93; = c;
}
}
if (m == i)
done = 1;
}
if (A***91;i***93;***91;i***93; != 0)
{
c = 1/A***91;i***93;***91;i***93;;
for (j=i; j<n; j++)
A***91;i***93;***91;j***93; = A***91;i***93;***91;j***93; * c;
for (j=0; j<p; j++)
B***91;i***93;***91;j***93; = B***91;i***93;***91;j***93; * c;
for (k=0; k<n; k++)
if (k != i)
{
c= A***91;k***93;***91;i***93;;
for (j=i; j<n; j++)
A***91;k***93;***91;j***93; = A***91;k***93;***91;j***93; - A***91;i***93;***91;j***93;*c;
for (j=0; j<p; j++)
B***91;k***93;***91;j***93; = B***91;k***93;***91;j***93; - B***91;i***93;***91;j***93; * c;
}
}
printf("\nLan khu hang %d", i);
for (k=0; k<n; k++)
{
printf("\n");
for (j=0; j<n; j++)
printf("%10.2lf", A***91;k***93;***91;j***93;);
for (j=0; j<p; j++)
printf(" = %10.2lf", B***91;k***93;***91;j***93;);
}
i++;
if (i>=n)
done = 1;
}
if (i >= n)
for (j=0; j<n; j++)
for (k=0; k<p; k++)
X***91;j***93;***91;k***93; = B***91;j***93;***91;k***93;;
}
/*void*/int in_A(int n)
{
int i, j;
printf("\nMa tran A :");
for (i=0; i<n; i++)
{
printf("\n");
for (j=0; j<n; j++)
printf("%10.2lf", A***91;i***93;***91;j***93;);
}
}
/*void*/int in_B(int n, int p)
{
int i, j;
printf("\nMa tran B :\n");
for (i=0; i<n; i++)
{
printf("\n");
for (j=0; j<p; j++)
printf("%10.2lf", B***91;i***93;***91;j***93;);
}
}
/*void*/int in_X(int n, int p)
{
int i, j;
printf("\nMa tran nghiem X :\n");
for (i=0; i<n; i++)
{
printf("\n");
for (j=0; j<p; j++)
printf("%10.2lf", X***91;i***93;***91;j***93;);
}
}
/*void*/int main()
{
int n, i, j, p;
printf("Giai he phuong trinh tuyen tinh AX = B.");
printf("\nbang phuong phap khu GAUSS.");
printf("\nCho biet cap ma tran : ");
scanf("%d%*c", &n);
printf("\nCho biet cap ma tran B : ");
scanf("%d%*c", &p);
printf("\nNhap ma tran A :\n");
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
printf("A***91;%d***93;***91;%d***93; = ", i, j);
scanf("%lf", &A***91;i***93;***91;j***93;);
}
printf("\nNhap ma tran B :\n");
for (i=0; i<n; i++)
for (j=0; j<p; j++)
{
printf("B***91;%d***93;***91;%d***93; = ", i, j);
scanf("%lf", &B***91;i***93;***91;j***93;);
}
in_A(n);
in_B(n, p);
gauss_jordan(n, p);
in_X(n, p);
getch();
}
day la code minh suu tam dc nen minh post len chu minh chua doc wa