 
        
        
          Добавил:
          
          
        
        
    
            Studfiles2
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:Градиентные методы / zs2(nesk)
.txt complex ZS2(complex x1)
{
double R=0.5*sqrt(5)-0.5,e=0.0001;
complex x0;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
while (abs(b-a)>=e)
{
if ((abs(x0-a)<abs(x1-a))&&(f(x0)<f(x1)))
{
b=x1;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x1=a+b-x0;
}
else
if ((abs(x0-a)<abs(x1-a))&&(f(x0)>f(x1)))
{
a=x0;
x1=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x0=a+b-x1;
}
else
if ((abs(x0-a)>abs(x1-a))&&(f(x0)<f(x1)))
{
a=x1;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x1=a+b-x1;
}
else
if ((abs(x0-a)>abs(x1-a))&&(f(x0)>f(x1)))
{
b=x0;
x1=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x0=a+b-x1;
}
k1++;
};
return ((a+b)/2);
}
 
      
      
      
      
    {
double R=0.5*sqrt(5)-0.5,e=0.0001;
complex x0;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
while (abs(b-a)>=e)
{
if ((abs(x0-a)<abs(x1-a))&&(f(x0)<f(x1)))
{
b=x1;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x1=a+b-x0;
}
else
if ((abs(x0-a)<abs(x1-a))&&(f(x0)>f(x1)))
{
a=x0;
x1=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x0=a+b-x1;
}
else
if ((abs(x0-a)>abs(x1-a))&&(f(x0)<f(x1)))
{
a=x1;
x0=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x1=a+b-x1;
}
else
if ((abs(x0-a)>abs(x1-a))&&(f(x0)>f(x1)))
{
b=x0;
x1=complex(real(a)+R*(real(b)-real(a)),imag(a)+R*(imag(b)-imag(a)));
x0=a+b-x1;
}
k1++;
};
return ((a+b)/2);
}
          Соседние файлы в папке Градиентные методы
          
      
    
    
    
          