Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Эллипс спускается с горки и поднимается в другую http://www.cyberforum.ru/cpp-beginners/thread1042175.html
Эллипс спускается с горки и поднимается в другую. Вот ссылка на картинку задания: http://webfile.ru/ce8074c574e6d68677c7b1eddb1c0ceb
C++ Сформировать новый односвязный список с элементов существующего списка Есть функция, которая создает односвязный список с добавлением элементов в конец, нужно написать функцию, которая создает новый список с элементов первого списка, которые не равны символу 'а' и при... http://www.cyberforum.ru/cpp-beginners/thread1042171.html
Задача по матрицам C++
Даны матрицы a(5*6) и b(6*7). Матрицы сгенерировать. Используя функцию для каждой из них найти: а) Вектор из порядковых номеров максимальных по модулю элементов в столбцах матрицы. б) Среднее...
Вставить новую строку после строки, в которой находится первый встречный минимальный элемент C++
Условие: В двумерном массиве, элементы которого - целые числа, произвести след. действия: Вставить новую строку после строки, в которой находится первый встречный минимальный элемент. ...
C++ Непонятная ошибка компилятора http://www.cyberforum.ru/cpp-beginners/thread1042166.html
http://s2.ipicture.ru/uploads/20131215/cH0nj1v0.png в чом ошибка???
C++ Удалить из массива все элементы, в записи которых все цифры различны Условие: В одномерном массиве, элементы которого - целые числа, произвести след. действия: Удалить из массива все элементы, в записи которых все цифры различны. Помогите пожалуйста. подробнее

Показать сообщение отдельно
sanekjo
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 11

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

15.12.2013, 13:54. Просмотров 263. Ответов 0
Метки (Все метки)

Нашел на форуме прогу для оптимизации методом золотого сечения.Переделав ее под себя я не пойму вот этого
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;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru