Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
01.05.2014
Размер:
917 б
Скачать
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);
}
Соседние файлы в папке Градиентные методы