нь рівняння x =% f nКолічество ітерацій =% d ", a, k);
fclose (res);
getch ();
}
3. Метод січних
# include
# include
# include
# define e 0.000001
double func (double x)
{
return ((((x * x) - (log (1 + x))) - 3));
}
void main ()
{
FILE * res;
res = fopen ("sekushih. txt", "w");
int k = 0, x1 = 2, x2 = 3;
double a, b, c;
a = x1;
b = x2;
while (fabs (a-b)> e)
{
c = (a * func (b) - b * func (a))/(func (b) - func (A));
a = b;
b = c;
k + +;
}
printf ("Funkciya prinimaet znachenie na intervale: [% d,% d] n ", x1, x2);
printf ("Otvet:% f n", a);
printf ("Kol-vo iteraciy:% d n", k);
printf ("Takge smotri otvet v file sekushih. txt n ");
fprintf (res, "Результат рішення рівняння методом січних! N ");
fprintf (res, "Корінь рівняння x =% f nКолічество ітерацій =% d ", a, k);
fclose (res);
getch ();
}
4. Метод простої ітерації
# include
# include
# include
# define e 0.000001
double func (double x)
{
return ((((x * x) - (log (1 + x))) - 3));
}
double x_vir (double x)
{
return (sqrt (log (1 + x) +3));
}
void main ()
{
FILE * res;
res = fopen ("itteraciy. txt", "w");
int x1, x2, k;
double x;
k = 0;
x1 = 2;
x2 = 3;
x = 0;
double a, b, c;
a = x1;
b = x2;
while (fabs (a-b)> e)
{
b = x_vir (a);
c = b;
b = a;
a = c;
k + +;
}
printf ("Funkciya prinimaet znachenie na intervale: [% d,% d] n ", x1, x2);
printf ("Otvet:% f n", a);
printf ("Kol-vo iteraciy:% d n", k);
printf ("Takge smotri otvet v file itteraciy. txt n ");
fprintf (res, "Результат рішення рівняння методом простої ітерації! N ");
fprintf (res, "Корінь рівняння x =% f nКолічество ітерацій =% d ", a, k);
fclose (res);
}
Результати розрахунку:
На інтервалі x [2,3] функції x ВІ - Ln (1 + x) - 3 = 0 корінь рівняння x = 2.026689. Кількість ітерацій при наближеною точності = в методі половинного поділу становить 20, в методі дотичних становить 4, в методі січних становить 5 і в методі простих ітерацій становить 6.