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

Программа для поиска минимального значения функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать pack() из php http://www.cyberforum.ru/cpp-beginners/thread269113.html
Здравствуйте! В php есть функция pack() Подскажите пожалуйста, как в с++ реализовать строку из php $string= pack('H*', '202cb962ac59075b964b07152d234b70'); Спасибо. Добавлено через 37 минут а если быть точнее, то в с++ у меня есть string pw ("abc"); string md5 (md5(pw));
C++ Переименование и удаление файла 1.Подскажите как выполняется переименование файла,находящегося в папке программы с возможностью ввода с клавиатуры старого имени и нового имени. 2.Как удалить файл из папки с программой с возможностью ввода имени файла с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread269111.html
C++ Символ конца строки
помогите пожалуйста, пишу программу в Линуксе, не распознаётся '\n'... вот например когда посимвольно перебираю строку и дохожу до конца, то программа не заходит в if (ch=='\n') {..........} или в if (isspace(ch)) {........} что можно сделать?? может быть там есть какой-нибудь аналог для \n ??? Добавлено через 25 минут
Заполнение двумерного массива C++
есть 4 массива одномерных, как сделать чтобы создавался массив А двумерный размером 4х4, который заполнялся бы сравнением елементов этих четырех массивов, тоесть если некоторые ел. отличаются то считало бы сколько. например: массивы mas1 = 001;mas2 = 010; mas3 =011; mas4 = 100 создаем А mas1 mas2 mas3 mas4 mas1 0 2 1 2 mas2 2 ...
C++ Какая именно из функций будет вызвана ? http://www.cyberforum.ru/cpp-beginners/thread269081.html
Circle *c = new Circle(0,0,5); Figure *f = c; // Всё ok: Figure — базовый класс для Circle c->Draw(); f->Draw(); Figure::Draw(), Square::Draw() или Circle::Draw() ? как это понять кокая будет и как определить последовательность ?
C++ скорость сортировки вот написал к примеру програмку. работает так Меню с пунктами: 1.для заполнения матрицы 2.для сортировки 3.для принта 4.для выхода. после каждого пункта(кроме 4ого) выводит complite. Когда ввожу размера матрицы 1000 и сортирую после заполнения,то это время занимает около минуты. Можно ли как то посчитать сколько именно минут?Точнее чтобы выводились секунды.и после этого complite. Вот... подробнее

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

Программа для поиска минимального значения функции - C++

03.04.2011, 02:42. Просмотров 1189. Ответов 13
Метки (Все метки)

Всем привет! Помогите разобраться и найти ошибку в коде программы. В задачу входило скомпилировать программу на С++, которая ищет оптимальные значения X (минимум) в уравнении, содержащем эффекты линейного взаимодействия x2*x3, x2*x5 и квадратичный эффект x4^2
Уравнение выглядит следующим образом:
y=226,17 + 57,72x1 + 17,51x4 + 22,92x5 - 11,43x1x3 + 15,22x2x3 + 29,83x2x5 + 6,86x4^2

Проект создавал в Visual Studio 2008 как консольное приложение. Программа вроде бы работает, но оптимальные параметры x определяются неправильно (см. скриншот).


Cобственно ниже исходный код программы. Что может быть не так? Сколько ни ковырял, не пойму в чем косяк. Походу работает только 1й цикл, а остальные 4 не выполняются..
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
41
42
43
44
#include <stdio.h>
 
int main(void)
{
    double Y,x1,x2,x3,x4,x5,Ynim,Xnim1,Xnim2,Xnim3,Xnim4,Xnim5;
    int i1,i2,i3,i4,i5;
    Ynim=1000;
    for(i1=0;i1<=10;i1++)
    {
     x1=0.2*i1-1;
     for(i2=0;i2<=10;i2++)
     {
      x2=0.2*i2-1;
      for(i3=0;i3<=10;i3++)
      {
       x3=0.2*i3-1;
       for(i4=0;i4<=10;i4++)
       {
        x4=0.2*i4-1;
        for(i5=0;i5<=10;i5++)
        {
         x5=0.2*i5-1;
        
        
        Y = 226.17 + 57.72*x1 + 17.51*x4 + 22.92*x5 - 11.43*x1*x3 + 15.22*x2*x3 + 29.83*x2*x5 + 6.86*x4*x4;
        if (Y<Ynim)
        { 
         Ynim=Y;
         Xnim1=x1;
         Xnim2=x2;
         Xnim3=x3;
         Xnim4=x4;
         Xnim5=x5;
        }
        }
       }
      }
     }
    }
    
    printf("x1 = %f; x2 = %f; x3 = %f; x4 = %f; x5 = %f; Ymin = %f\n",Xnim1,Xnim2,Xnim3,Xnim4,Xnim5,Ynim);
        
    return 0;
}
Миниатюры
Программа для поиска минимального значения функции  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru