Скачиваний:
13
Добавлен:
01.05.2014
Размер:
1.04 Кб
Скачать
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>

double f(double x)
{
  return (2*x*x+16/x);
};


void main()

{
double x0=1,x1,h=0.01,e=0.00001,a,b,A,B;
///////////////////////////////////////////////////////////
//--------------------metod Swenna-----------------------//
///////////////////////////////////////////////////////////
	if(f(x0)<f(x0+h))
	h=-h;
	x1=x0+h;
	while(f(x1)<=f(x0))
	{
	x0=x1;
	x1=x0+h;
	h=2*h;
	}
	B=b=x0;
	A=a=x1;
	clrscr();
	printf("a=%.2f    (levyj kraj intervala)\n",a);
	printf("b=%.2f    (pravyj kraj intrvala)\n",b);

/////////////////////////////////////////////////////
	double F1,F2,x,L;
	double d=0.000001; //konstanta razlichimosti
//	int k=1; //schetchik
	F1=f((A+B-d)/2);
	F2=f((A+B+d)/2);
	L=fabs(B-A);
	while(L>e)
	{
	if (F1<F2)
	 {
	  B=(A+B+d)/2;
	  L=fabs(B-A);
	 }
	else
	 {
	  A=(A+B-d)/2;
	  L=fabs(B-A);
	 }
	 F1=f((A+B-d)/2);
	 F2=f((A+B+d)/2);

	};
//	clrscr();
	x=(A+B)/2;
	printf("%f   ",x);

}
Соседние файлы в папке all