МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА кафедра «Захист інформації»
Звіт
про виконання лабораторної роботи №2
з курсу: "Комп’ютерні методи дослідження інформаційних процесів та систем"
МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ
ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ
Львів – 2007
Мета роботи – ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь.
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Розв’язати систему лінійних алгебраїчних рівнянь методом Гаусса.
Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі, та їх пояснення.
l– кількість кроків виключення ;
i– номер рядка;
k – номер стовпця;
n – кількість рівнянь;
s, z, b, p – задані величини;
х[] – масив коренів;
а [][]– масив, що задає систему рівнянь;
main() – головна функція;
Остаточно відлагоджений текст програми згідно з отриманим завданням мовою С
#include<stdio.h>
#define z 0
#define p 0
void main()
{
double s=0.2*z,b=0.2*p;
double x[4],a[4][5]={{8.3,2.62+s,4.1,1.9, -10.55+b},
{3.92,8.45,7.78-s,2.46, 12.21},
{3.77,7.21+s,8.04,2.28, 15.54-b},
{2.21,3.65-s,1.69,6.99, -8.35}};
int i,l,k,n=4;
//trukytnuj vuhliad
for(l=0;l<n;l++)
for(k=l+1;k<n+1;k++){
a[l][k]=a[l][k]/a[l][l];
for(i=l+1;i<n;i++)
a[i][k]=a[i][k]-a[i][l]*a[l][k];
}
//rozvjazok
for(i=n-1;i>=0;i--){
x[i]=a[i][n];
for(k=i+1;k<n;k++)
x[i]=x[i]-x[k]*a[i][k];
}
puts("RESULTAT");
for(i=0;i<n;i++)
printf("x%d = %lf\n",i+1,x[i]);
puts("");
getchar();
}
Результати виконання програми
x1=
x2=
x3=
x4=
Висновок: на цій лабораторній роботі я ознайомився з прямими методами розв’язування систем лінійних алгебраїчних рівнянь.