У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Методи уточнення корення
4



МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

 

Лабораторна робота №

«Методи уточнення корення»

Постановка задачі:

Знайти корені рівняння на відрізку [2;8], за допомогою методів:

Методу ділення відрізка на половину;

Методу Ньютона;

Методу простої ітерації.

Написати програму визначення коренів рівняння.

Метод ділення відрізка на половину:

Програма:

# include <stdio.h>

# include <stdlib.h>

# include <math.h>

main ()

{float a=2,b=7,e=0.01,x; float f(float);

if(f(a)*f(b)>0); else

{

while (fabs(b-a)>=2*e)

{x=(a+b)/2;

if (f(a)*f(x)>0) a=x; else b=x;

}

printf("Korin': %.2f",(a+b)/2);

getchar();

}}

float f(float x)

{return(5x*x-8*x+10);}

Блок-схема:

Метод Ньютона:

Програма

# include <stdio.h>

# include <stdlib.h>

# include <math.h>

main ()

{float e=0.01,x=7; float f(float), df(float);

while(fabs(f(x)*df(x))>e)

x=x-f(x)/df(x);

printf("Korin': %.2f",x);

getchar();

}

float f(float x)

{return(5x*x-8*x+10);}

float df(float x)

{return(10*x-8);}

Блок-схема:

Метод простої ітерації:

Програма

# include <stdio.h>

# include <stdlib.h>

# include <math.h>

main ()

{float e=0.01,xp=6,xn; float f(float), fi(float);

xn=f(xp);

while(fabs(xn-xp)<e)

xn=fi(xp);

printf("Korin': %.2f",xn);

getchar();

}

float f(float x)

{return(5x*x-8*x+10);}

 

Блок-схема: