⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gaussian

📁 Numerical Methods- Gauss Elimination
💻
字号:
#include<iostream>using namespace std;#include"MathFunc.cpp"#include<time.h>int main(){		int n;        	cout<<"Enter number of unknown variable : ";      	cin>>n;	long double *mat = new long double[n*n];	long double *b = new long double[n]; 	getMatrix(mat,b,n);        //getInput("d_49_49","fx_49",mat,b,n);        //getInput("D_225_225","fx_225",mat,b,n);        //getInput("input.txt","input1.txt",mat,b,n);        //getSparseInput("matrxi_2304","rhsvect_2304",mat,b,n);               dispMatrix(mat,b,n); 	long double *determinant = new long double[n]; 	        for(int i=0; i<n; i++)              *(determinant+i) = 1;	long double dtrmnt=1;	int g=0;        long double *x = new long double[n]; 	for(int i=0; i<n; i++)	{		if(*(mat+i*n+i))		{						long double leadvar=*(mat+i*n+i);			*(determinant+(g++))=leadvar;			for(int j=0; j<=n; j++)			{				if(j < n)					*(mat+i*n+j)=(*(mat+i*n+j))/leadvar;				else					*(b+i)=(*(b+i))/leadvar;			 }						for(int j=i+1; j<n; j++)			{				long double conzero = *(mat+j*n+i);				for(int k=0; k<=n; k++)				{					if(k < n)					    *(mat+j*n+k)=(*(mat+j*n+k))-(conzero)*(*(mat+i*n+k));					else					    *(b+j)=(*(b+j))-(conzero)*(*(b+i));				}			}		}		else		{                   		   *(determinant+(g++))=-1;                   long double t;		   for(int t1=i+1; t1<n; t1++)		   {		       if(*(mat+i*n+t1))		       {			   for(int m1=0; m1<=n; m1++)			   {				if(m1 < n)                        	{				    t = *(mat+i*n+m1);				    *(mat+i*n+m1)=(*(mat+t1*n+m1));                                    *(mat+t1*n+m1) = t;				}				else                                {				    t = *(b+i);				    *(b+i)=*(b+t1);				    *(b+t1) = t;				}			   }			}		    }                    		}                	}	for(int i=0; i<n; i++)		*(determinant+(g++))=*(mat+i*n+i);	for(int i=0; i<g; i++)		dtrmnt*=(*(determinant+i));	cout<<"Matrix in Trianguler form is :"<<endl;		dispMatrix(mat,b,n);	       		calX(x,mat,b,n);		dispX(x,n);	cout<<"Determinant of given matrix: "<<dtrmnt<<endl;        	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -