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

double function(double x) {
	return (2*x*x+16/x);
	}
double SWANN(double& a, double& b,double& c) {
	double	shag=0.001,np=1;
	a=np;
	b=np+shag;
	if (function(a)<function(b)) {           //dvigenie nalevo
		shag=-shag;
		while (function(a)<function(b)) {
			shag=2*shag;
			np=np+shag;
			c=b;
			b=a;
			a=np;
		};

	} else
	if (function(a)>function(b)) {           //dvigenie napravo
		while (function(b)<function(a)) {
			shag=2*shag;
			np=np+shag;
			c=a;
			a=b;
			b=np;
		};
	}  //if


	return(0);
}

double interpol(double a,double b,double c){

	double fa,fb,fc;
	fa=function(a);
	fb=function(b);
	fc=function(c);

	return (0.5*(fa*(b*b-c*c)+fb*(c*c-a*a)+fc*(a*a-b*b))/(fa*(b-c)+fb*(c-a)+fc*(a-b)));


} ;



main(){
	double x,a,b,c;
	clrscr();
	x=4;
	SWANN(a,b,c);
	cout<<"znachenie funkcii:  "<<function(x)<<"\ninterval: "<<a<<" = "<<b<<" = "<<c<<"\n"<<"interpol minimum:  "<<interpol(a,b,c)<<"\n";
		  return(0);
}
Соседние файлы в папке all