Đây là một chương trình C ++ để thực hiện loại bỏ Gauss Jordan. Nó được sử dụng để phân tích hệ thống tuyến tính của phương trình đồng thời. Nó chủ yếu tập trung vào việc rút gọn hệ phương trình về dạng ma trận đường chéo bằng các phép toán hàng sao cho trực tiếp nghiệm được.
Thuật toán
Begin n = size of the input matrix To find the elements of the diagonal matrix: Make nested for loops j = 0 to n and i = 0 to n The element in the first row and the first column is made 1 and then the remaining elements in the first column are made 0. Similarly, the elements in the second row and the second column is made 1, and then the other elements in the second column are reduced to 0 and so on. Print all calculated solution values. End
Ví dụ
#include<iostream> using namespace std; int main() { int i,j,k,n; // declare variables and matrixes as input float a[10][10],b,x[10]; printf("\nEnter the size of matrix: "); scanf("%d",&n); printf("\nEnter the elements of augmented matrix (rowwise):\ n"); for(i=1; i<=n; i++) { for(j=1; j<=(n+1); j++) { cout << "A[" << i << ", " << j << " ]="; cin >> a[i][j]; } } //to find the elements of diagonal matrix for(j=1; j<=n; j++) { for(i=1; i<=n; i++) { if(i!=j) { b=a[i][j]/a[j][j]; for(k=1; k<=n+1; k++) { a[i][k]=a[i][k]-b*a[j][k]; } } } } cout<<"\nThe solution is:\n"; for(i=1; i<=n; i++) { x[i]=a[i][n+1]/a[i][i]; cout<<"x"<<i << "="<<x[i]<<" "; } return(0); }
Đầu ra
Enter the size of matrix: 3 Enter the elements of augmented matrix row-wise: A[1, 1 ]=1 A[1, 2 ]=2 A[1, 3 ]=-4 A[1, 4 ]=2 A[2, 1 ]=7 A[2, 2 ]=6 A[2, 3 ]=-2 A[2, 4 ]=-5 A[3, 1 ]=0 A[3, 2 ]=-3 A[3, 3 ]=-5 A[3, 4 ]=-8 The solution is: x1=-2.89831 x2=2.5678 x3=0.059322