Форум программистов, компьютерный форум CyberForum.ru

метод золотого сечения - C++

Восстановить пароль Регистрация
 
sanekjo
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 11
15.12.2013, 13:54     метод золотого сечения #1
Нашел на форуме прогу для оптимизации методом золотого сечения.Переделав ее под себя я не пойму вот этого
C
1
for(i=-1;i<=1;i+=2)
.зачем вводить этот цикл?объясните пожалуйста.Вот и сам код:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
float f(float x) {return (0.983902)*x*x + (-0.069894)*x + (-0.074655);}
int main(void) {
    int i,m=0;
    float a, b,g= 0.6180339887,x1,x2,y1,y2,xm;
    float eps;
    setlocale(LC_ALL, "Russian");
    printf("Ввод отрезка [a, b] и точности eps:\n");
    scanf("%f %f %f", &a, &b, &eps);
    for(i=-1;i<=1;i+=2){
    x1 = a+(b-a)*(g);
    x2 = b-g*(b-a);
       y1 = i*f(x1);
       y2 = i*f(x2);
       do{ 
            if( y1<=y2 )
            {
                b = x2;
                x2 = x1;
                y2 = y1;
                x1 = a+(b-a)*(g);
                y1 = i*f(x1);
            }
            else
            {
                a = x1;
               x1 = x2;
               y1 = y2;
               x2 = b-g*(b-a); 
               y2 = i*f(x2);}
       m++; }
       while(abs(b-a)>eps);}
        xm=(y1-y2)/2+y2;
    printf("Минимум функции: (%f %f), вычислено за %d итераций",xm,x2,m);
    getch();
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 13:54     метод золотого сечения
Посмотрите здесь:

C++ Метод золотого сечения.
Метод золотого сечения C++
Метод Золотого Сечения C++
Метод золотого сечения.исправьте ошибку пожалуйста C++
C++ Метод "Золотого сечения". Программа не работает под Borland 3.1
Метод Золотого сечения. Пассивный поиск C++
Метод хорд, касательных, золотого сечения C++
C++ Метод золотого сечения считается неправильно

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru