Home » Numerical Techniques Using C++ » Gauss Elimination Method C C++ Program & Algorithm

Gauss Elimination Method C C++ Program & Algorithm

Gauss Elimination Method with algorithm and c++ program
Advertisements
Loading...

Gauss Elimination Method C++

Gauss Elimination Method is a direct method to solve the system of linear equations.

It is quite general and well adaptive in computer operations and Numerical Techniques.

Gauss Elimination Method gives us the exact value of variables.

The simultaneous linear equations occur quite often in computational processes in almost every field.

  • In engineering and science.
  • Economics and Statistics
  • Analysis of Electronic Circuits
  • Output and Cost in Chemical Plants
  • Optimizing Techniques
  • Graphical methods and illustrations
  • Numerical Techniques

So the solutions of these problems can be found by the Direct and Iterative Methods.

Q. Find the Solution of following Linear Equation using the Gauss Elimination Method?

x + y + z = 6
x – y + z = 2
2x – y + 3z = 9

Sol:  In this method, the variables are eliminated and the system is reduced to the upper triangular matrix from which the unknowns are found by back substitution.

Step 1: Write the given System of Equations in the form of AX = b, i.e. Matrix Form.

Where as,
A = Coefficient Matrix,
X = variables (Column Matrix),
b = constants (Column Matrix.

Step 2: Find Augmented Matrix C = [ Ab ]

Advertisements
Loading...

Step 3: Transform Augmented Matrix into Upper Triangular Matrix.

In the upper Triangular matrix, all the elements below the Diagonal are zero

Advertisements
Loading...

Note: Only Row operations are allowed.

Now as you can see that it is now reduced to upper triangular matrix.

Step 4:  Find equations corresponding to upper triangular matrix.

Now by using back Substitution reconstruct the equations and find the corresponding values of the variables x, y and z.

1.x + 1.y + 1.z = 6 —> x + y + z = 6
0.x – 2y + 0.z = – 4 —> -2y = -4 –> y = 2
0.x – 0.y + 2z = 6 —> 2z = 6 –> z = 3

Now, Put the value of y and z into eq. 1.
X + 2 + 3 = 6 –> x = 1
Therefore, the roots of the three equations are x = 1 , y = 2, z= 3

C++ Program

//Gauss Elimination Method C++ code //wikkihut.com #include<iostream> #include<iomanip> #include<cmath> #define N 3 using namespace std; int main() { float Matrix[N][N+1],x[N]; // Matrix = Augumented Matrix [Ad] float temp,s; //variables for loops int i,j,k; //Scan values of Matrix. cout<<"Enter Elements of "<<N<<" Rows & "<<N+1<<" Columns\n"; cout<<fixed; for(i=0; i<N; i++) { cout<<"\tEnter Row "<<i+1<<" & Press Enter\n"; for(j=0; j<N+1; j++) cin>>Matrix[i][j]; } //make above matrix upper triangular Matrix for(j=0; j<N-1; j++) { for(i=j+1; i<N; i++) { temp=Matrix[i][j]/Matrix[j][j]; for(k=0; k<N+1; k++) Matrix[i][k]-=Matrix[j][k]*temp; } } //print the Upper Triangular matrix cout<<"\n ---------------------------------\n"; cout<<"\n Upper Triangular Matrix is:\n"; for(i=0; i<N; i++) { for(j=0; j<N+1; j++) cout<<setw(8)<<setprecision(4)<<Matrix[i][j]; cout<<endl; } //find values of x,y,z using back substitution cout<<"\n ---------------------------------\n"; for(i=N-1; i>=0; i--) { s=0; for(j=i+1; j<N; j++) s += Matrix[i][j]*x[j]; x[i]=(Matrix[i][N]-s)/Matrix[i][i]; } //print values of x,y,z cout<<"\n The Solution is:\n"; for(i=0; i<N; i++) cout<<"x["<<setw(3)<<i+1<<"]="<<setw(7)<<setprecision(4)<<x[i]<<endl; return 0; //wikkihut.com }

Method 2nd:
There is another method which is quite similar to this.
Step 1. Eliminate x from 2nd and 3rd equations.
Step 2. Eliminate y from 3rd equation only after step 1.
Step 3. Evaluate the unknowns, x, y, z by back substitution.

Read Some Iterative Methods.

Advertisements
Loading...

Leave a Comment

Your email address will not be published. Required fields are marked *