Sie sind auf Seite 1von 2

//jacobi

void opera(float x1, float x2, float x3)


{
float xy1, xy2, xy3, a1, a2, a3;
int i=0;
float er;
er=1.0000;
while (fabs(er)>0.0000001)
{
a1=x1;
a2=x2;
a3=x3;
xy1=(2-((7*x2)+(3*x3)))/12;
xy2=(-5-(x1+x3))/5;
xy3=(6-((2*x1)+(7*x2)))/-11;
er = (xy1-a1)+(xy2-a2)+(xy3-a3);
printf ("x1=%f\n", xy1);
printf ("x2=%f\n", xy2);
printf ("x3=%f\n", xy3);
printf ("Error: %.9f\n\n", fabs(er));
x1=xy1;
x2=xy2;
x3=xy3;
i++;
}
printf ("num de iteraciones: %d\n", i);
}
void opera(float x1, float x2, float x3);
int main()
{
float x1, x2, x3;
x1=1;
x2=3;
x3=5;
printf ("x1=%f\n", x1);
printf ("x2=%f\n", x2);
printf ("x3=%f\n\n\n", x3);
opera(x1, x2, x3);
system ("pause");
return 0;
}
//seidel
void opera(float x1, float x2, float x3)
{
float xy1, xy2, xy3, a1, a2, a3;
int i=0;

float er;
er=1.0000;
while (fabs(er)>0.0000001)
{
a1=x1;
a2=x2;
a3=x3;
x1=(2-(7*x2)-(3*x3))/12;
x2=(-5-a3-a1)/5;
x3=(6-(7*a2)-(2*a1))/-11;
er = fabs(x1-a1)+fabs(x2-a2)+fabs(x3-a3);
printf ("x1=%f\n", x1);
printf ("x2=%f\n", x2);
printf ("x3=%f\n", x3);
printf ("Error: %.9f\n\n", fabs(er));
i++;
}
printf ("num de iteraciones: %d\n", i);
}

Das könnte Ihnen auch gefallen