Розв’язання систем лінійних алгебраїчних рівнянь на ЕОМ

Главная » Каталог статей » Статьи на украинском » Програмування » Розв’язання систем лінійних алгебраїчних рівнянь на ЕОМ

Розв’язання систем лінійних алгебраїчних рівнянь на ЕОМ — набуття практичних навичок з моделювання паралельних алгебраїчних методів реконструктивної томографії на послідовних ЕОМ.

Завдання:

N

A

B

3

-0.20

-0.30

1.20

1.60

0.10

-0.20

-0.10

-1.50

0.30

0.30

0.40

-0.60

Алгоритм:

clip_image001

Програмна реалізація:

#include <stdio.h>

#include <math.h>

#include <conio.h>

int main(void){

int i,j,k,n;

float c,s;

float B[3][4],X[3];

float A[3][4]={{-0.20,1.60,-0.10,0.30},

{-0.30,0.10,-1.50,0.40},

{1.20,-0.20,0.30,-0.60}

};

n=3;

//Прямий хід, робимо матрицю трикутною

for(i=0;i<n;i++){

c=A[i][i];

for(j=n;j>-1;j—){

A[i][j]=A[i][j]/c;

for(k=i+1;k<n;k++){

A[k][j]=A[k][j]-A[i][j]*A[k][i];

}

}

}

//Зворотній хід, знаходимо корені

X[n-1]=A[n-1][n];

for(k=n-2;k>-1;k—){

s=0;

for(j=k+1;j<n;j++){

s=s+A[k][j]*X[j];

}

X[k]=A[k][n]-s;

}

clrscr();

for(i=0;i<n;i++){

printf(" %-5.4f ",X[i]);

}

return 0;}

Результат:

clip_image003

Перевірка:

clip_image005

Оставьте комментарий к статье