Міністерство освіти і науки, молоді та спорту України
Харківський національний університет імені В.Н. Каразіна
Лабораторна робота №2
Прямі методи розв'язання систем лінійних алгебраїчних рівнянь
Виконала:
студентка групи МП - 31
Кальницька Б.М.
Перевірив:
доц. Скорик В.А.
Харків +2014
Постановка завдання
. Знайти рішення систем лінійних алгебраїчних рівнянь Ах=b, знайти А - 1, обчислити det A.
. Методом Гаусса з вибором ведучого елемента в рядку.
. Методом Гаусса з вибором ведучого елемента в стовпці.
3. Методом Гаусса з вибором ведучого елемента в матриці. На друк вивести початкову матрицю A, вектор b, рішення x, невязку, det A, А - 1. порівняти отримані результати .. Знайти рішення систем лінійних алгебраїчних рівнянь Ах=b, обчислити det A.
1. Методом факторизації.
Напечать вивести початкову матрицю A, вектор b, рішення x, невязку, обчислити det A. порівняти отримані результати.
Варіант №4
А =, b=
Метод факторизації
Теорема.
Нехай
Тоді А представима єдиним чином у вигляді де
- ніжнетреугольная,
- верхнетреугольная;
.
При цьому рішення зводиться до вирішення двох систем
Лістинг програми
# include stdafx.h
# include lt; stdio.h gt;
# include lt; iostream gt;
# include lt; math.h gt; namespace std; int n=4; main ()
{i=0, j=0, k=0, m=0; A [n] [n], B [n] [n], C [n] [n], f [n], x [n], y [n], r [n], Ax [n], max=- 1; lt; lt; Our matrix A is: lt; lt; endl; (i=0; i lt; n; i ++)
{(j=0; j lt; n; j ++)
{[0] [0]=0.11; [0] [1]=- 0.17; [0] [2]=0.72; [0] [3]=- 0.34; [1] [0]=0.81; [1] [1]=0.12; [1] [2]=- 0.91; [1] [3]=0.17; [2] [0]=0.17; [2] [1]= - 0.18; [2] [2]=1; [2] [3]=0.28; [3] [0]=0.13; [3] [1]=0.17; [3] [2]=- 0.99; [ 3] [3]=0.35; [i] [j]=0; [i] [j]=0; [i]=0; [i]=0; (% .4f raquo ;, A [i] [j], );
} lt; lt; endl;
} lt; lt; Our string f is: lt; lt; endl; (int i=0; i lt; n; i ++)
{[0]=0.17; [1]=1; [2]=0.21; [3]=2.71; (% .0f raquo ;, f [i], );
} lt; lt; endl; (int i=0; i lt; n; i ++)
{(int j=i; j lt; n; j ++)
{s=0; (int k=0; k lt; i; k ++) +=B [j] [k] * C [k] [i]; [j] [i] =A [j] [i] - s;=0; (int k=0; k lt; i; k ++) +=B [i] [k] * C [k] [j]; [i] [j ]=(A [i] [j] - s)/B [i] [i];
}
} lt; lt; Our matrix B is: lt; lt; endl; (int i=0; i lt; n; i ++)
{(int j=0; j lt; i + 1; j ++)
{(% .4f raquo ;, B [i] [j], );
} lt; lt; endl;
} lt; lt; Our matrix C is: lt; lt; endl; (int i=0; i lt; n; i ++)
{(int j=i; j lt; n; j ++)
{(% .4f raquo ;, C [i] [j], );
} lt; lt; endl;
} (int i=0; i lt; n; i ++)
{s=0; (int k=0; k lt; i; k ++) +=B [i] [k] * y [k]; [i]=(f [i]- s)/B [i] [i];
} (int i=n - 1; i gt;=0; i -)
{s=0; (int k=i + 1; k lt; n; k ++) +=C [i] [k] * x [k]; [i]=y [i ] - s;
} lt; lt; Vector x lt; lt; endl; (int i=0; i lt; n; i ++)
{ lt; lt; x [i] lt; lt; raquo ;;
} lt; lt; endl; (int i=0; i lt; n; i ++)
{s=0; (int j=0; j lt; n; j ++)
{+=A [i] [j] * x [j];
} [i]=s; [i]=Ax [i] - f [i];
} lt; lt; Nevazka lt; lt; endl; (int i=0; i lt; n; i ++)
{(% 1.18f n raquo ;, r [i]);
}=0; (int i=0; i lt; n; i ++)
{(max lt; fabs (r [i]))
{= fabs (r...