Napisać program realizujący metodę prostych iteracji dla układu równań liniowych Ax=b.
Pełną teorię miałam opisaną tutaj:
Kod: Zaznacz cały
http://hektor.umcs.lublin.pl/~beatas/met_iter.pdf
... eracji.htm
I udało mi się coś takiego wymodzić:
Kod: Zaznacz cały
#include<stdio.h>
#include<stdlib.h>
int main(){
int i,j,n, k, iter;
double a[25][25];
double b[25];
double x[25], y[25];
printf("Podaj wymiar macierzy A = ");
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("A[%d][%d]=",i+1,j+1);
scanf("%lf",&a[i][j]);
}
}
for (i=0; i<n; i++) {
printf("b[%d] =
", (i+1));
scanf("%lf", &b[i]);
}
printf("Ile iteracji algorytmu wykonac?
");
scanf("%d", &iter);
// for(k=0; k<iter; i++){
for(i=0; i<n; i++){
for(j=0; j<n; j++){
if(i!=j){
x[i] = (b[i]/a[i][i]) + ((((-1)*a[i][j])/(a[i][i]))*y[i]);
} else {
x[i] = b[i] + (((-1)*a[i][j])*y[i]);
}
printf("x[%d] = %lf
",i++, x[i]);
}
x[i]=y[i++];
}
// }
system("pause");
return 0;
}