Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для ganselo

Старожил


Сообщения: 232
Благодарности: 90

Профиль | Сайт | Отправить PM | Цитировать


Вот исходник метода золотого сечения:
Код: Выделить весь код
double f(double x)
{
    return x*x - 12*x;
}
double ZolotSech(double a_begin, double b_end)
{
    double tau = (1+sqrt(5))/2; // = 1.618
    double eps = pow(10., -6.);
    double x1, x2;

    while (b_end - a_begin > eps)
    {
        x1 = a_begin + (b_end - a_begin)/tau;
        x2 = a_begin + (b_end - a_begin)/(tau*tau);
        if(f(x1) > f(x2)) b_end = x1;
        else a_begin = x2;
    }
    return (a_begin + b_end)/2;
}
[a_begin, b_begin] - отрезок локализации минимума.

-------
К величайшему сожалению "история учит нас тому, что она ничему не учит".

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:30, 26-05-2010 | #3