Точные методы решения систем линейных алгебраических уравнений. Схема Халецкого
Download 177.43 Kb.
|
Схема Халецкого
- Bu sahifa navigatsiya:
- Вывод
Задача и результат выполненияКод программы: #include #include #include #include #include using namespace std; int const n=4; ofstream fout; int readar(int n, double** x) //Чтение массива с файла { ifstream matrix; matrix.open("Test.txt"); for(int i=0;i fout<<"Read matrix from the file"; fout< double arrnorm (int n, double** x) // Поиск нормы матрицы { double b[n]; for(int i=0;i for(int j=0;j fout<<"Sum of columns"< for(int i=0;i if(maxmax=b[i]; } fout< } void test_obr(int n, double** A, double** inv, double** q) // Проверка правильности нахождения обратной матрицы { double m; for (int i=0;i m=0; for (int k=0;k q[i][j]=m; } } int SLAU(double** matrica_a, int n, double* massiv_b, double* x) // Вспомогательная функция для нахождения обратной матрицы { int i,j,k,r; double c, M, max, s, **a, *b; a=new double *[n]; for (i=0;i b=new double [n]; for (i=0;i for (i=0;i for (k=0;k for (j=0;j c=b[k];
if (a[n-1][n-1]==0) if(b[n-1]==0) else
int INVERSE(double** a, int n, double** y) // Алгоритм нахождения обратной матрицы res=SLAU(a,n,b,x); else for (j=0;j delete [] x; if (res!=0) int main() fout.open("Solution.txt"); int result; double **x=new double* [n]; double **b=new double* [n]; double **c=new double* [n]; double **unknown=new double* [n]; double **Inv=new double* [n]; double **Unite=new double* [n]; readar(n, x); // Чтение матрицы с файла for(int i=0;i fout<<"Coefficients of unknown variables "< fout< for(int i=0;i double a[n][n+2], y[n], sol[n], det=1, mult[n], T1, T2; for(int i=0;i for(int i=0;i for(int i=0;i for(int i=0; i fout<<"Lower triangle matrix"< fout< y[0]=a[0][n+1]/b[0][0]; sol[n-1]=y[n-1]; // Подсчет матрицы решений for(int i=0; i for(int j=0;j fout< result=INVERSE(unknown, n, Inv); // Подсчет обратной матрицы fout<<"The inverse matrix of unknown variables "< for(int i=0;i test_obr(n, unknown, Inv, Unite); // Проверка обратной матрицы fout< fout<<"Condition number is equal to "< Read matrix from the file Coefficients of unknown variables Intercepts Lower triangle matrix Upper triangle matrix Matrix Y
Solution matrix
Determinant is equal to -37 Checking the solution
The inverse matrix of unknown variables Checking the inverse matrix Sum of columns matrix norm is equal to 11 Sum of columns
matrix norm is equal to 5.0811 Condition number is equal to 55.892
Read matrix from the file Coefficients of unknown variables Intercepts Lower triangle matrix Upper triangle matrix Matrix Y
Solution matrix
Determinant is equal to 97666 Checking the solution
The inverse matrix of unknown variables Checking the inverse matrix Sum of columns matrix norm is equal to 10.91 Sum of columns
matrix norm is equal to 1.4069 Download 177.43 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling