Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Различные алгоритмы минимизации, реализованные в С++ / all / SVANN
.CPP#include <iostream.h>
#include <conio.h>
#include <math.h>
float func(float x)
{
return (2*x*x+(16/x));
}
void main(void)
{
clrscr();
float x1=0,x2=0,Fm=0,Fm1=0,Fm2=0,Hk=0,h1=0.01,tchk=0,A1=0,B1=0,l1=0,m1=0;
int N=1,k=1;
const Eps=0.01;
float M[100],L[100],A[100],B[100];
cout << "Vvedite proizvolnuu tochku: ";
cin >> tchk;
x1=func(tchk);
x2=func(tchk+h1);
if(x2<x1) h1=-h1;
Hk=h1;
Fm1=(func(tchk+Hk));
Hk=2*h1;
Fm=(func(tchk+Hk));
while (Fm<Fm1)
{
Fm1=(func(tchk+Hk));
Hk=2*Hk;
Fm=(func(tchk+Hk));
N=N+1;
}
N=1;
B[N]=tchk+Hk;
A[N]=tchk+(Hk/4);
cout<<"Interval = [ "<<A1<<" "<<B1<<" ]";
L[N]=A[N]+0.382*(B[N]-A[N]);
M[N]=A[N]+0.618*(B[N]-A[N]);
// k=1;
// while (abs(A[k]-B[k])<=Eps)
// { if (func(L[k])<func(M[k]))
}
Соседние файлы в папке all