Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/55: Рейтинг темы: голосов - 55, средняя оценка - 4.91
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521

Метод пассивного поиска

02.11.2012, 06:40. Показов 10485. Ответов 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
double func(double x)
{
  double y;
  y=(x-131)/(x-1)+5* fabs(x-6);
  return y;
}
int main(int argc, char* argv[])
{
   const int N=26;
   int i, imin;
   double a=2.0,b=7.0, xPmin, yPmin;
   double x1, x2, y1, y2, x[N+2], y[N+2];
   printf ("Method passivnogo poiska:\n");
   const double d=0.1;
   x[0]=a;
   x[27]=b;
   for (int j=1; j<=N; j++)
   { 
       if ((j%2)==0)
          x[j]=a+(((b-a)*(j/2))/(k+1));
       else
          x[j]=x[j+1]-d;
   }
   for (int i=1; i<=N; i++)
     y[i]=func(x[i]);
   yPmin=y[1];
   for (i=1; i<=N; i++)
   {
    if (y[i]<=yPmin)
     {
                    yPmin=y[i];
           imin=i;
     }
     
   }
   xPmin=(x[imin-1]+x[imin+1])/2;
   printf("Tochka minimuma: %f\nNaim. znacheniye f: %f\n", xPmin,func(xPmin));
   getch();
   return 0;
}
Добавлено через 13 часов 23 минуты
Я забыла переменную k объявить. Вот так запускается, но неправильно находит наименьшее значение.
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
double func(double x)
{
  double y;
  y=(x-131)/(x-1)+5* fabs(x-6);
  return y;
}
int main(int argc, char* argv[])
{
   const int N=26;
   const int k=13;
   int i, imin;
   double a=2.0,b=7.0, xPmin, yPmin;
   double x1, x2, y1, y2, x[N+2], y[N+2];
   printf ("Method passivnogo poiska:\n");
   const double d=0.1;
   x[0]=a;
   x[27]=b;
   for (int j=1; j<=N; j++)
   { 
       if ((j%2)==0)
          x[j]=a+(((b-a)*(j/2))/(k+1));
       else
          x[j]=x[j+1]-d;
   }
   for (int i=1; i<=N; i++)
     y[i]=func(x[i]);
   yPmin=y[1];
   for (i=1; i<=N; i++)
   {
    if (y[i]<=yPmin)
     {
                    yPmin=y[i];
           imin=i;
     }
     
   }
   xPmin=(x[imin-1]+x[imin+1])/2;
   printf("Tochka minimuma: %f\nNaim. znacheniye f: %f\n", xPmin,func(xPmin));
   getch();
   return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2012, 06:40
Ответы с готовыми решениями:

вид поиска, метод поиска
Написать программу, реализующую один из алгоритмов программного поиска данных в информационном массиве, расположенном в оперативной памяти...

Алгоритм Оптимального пассивного поиска
Здравствуйте! Помогите пожалуйста реализовать алгоритм оптимального пассивного поиска минимума функции на Python

Решить методами пассивного поиска, золотого сечения и методом Ньютона
Решить методами пассивного поиска, золотого сечения, метод Ньютона. Исследовать их сходимость и провести сравнение по числу вычислений...

4
22 / 22 / 16
Регистрация: 22.08.2011
Сообщений: 79
02.11.2012, 09:10
Цитата Сообщение от Simply me Посмотреть сообщение
for (int j=1; j<=N; j++)
* *{
* * * *if ((j%2)==0)
* * * * * x[j]=a+(((b-a)*(j/2))/(k+1));
* * * *else
* * * * * x[j]=x[j+1]-d;
* *}
а шо ета странная штука делает оО
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
02.11.2012, 19:34  [ТС]
Это метод пассивного поиска. В данном цикле я присваиваю значения иксам.
x с индексом 2i= a+((b-a)*i)/(k+1)
x с индексом 2i-1= (x с индексом 2i) - d
Т. е. икс с нечетным индексом опрелеляется через предыдущий четный.
Потом нахожу yi от xi. Нахожу наименьший yi. Запоминаю индекс.
Точка минимума= (x[imin-1]+x[imin+1])/2.
0
22 / 22 / 16
Регистрация: 22.08.2011
Сообщений: 79
03.11.2012, 14:01
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
45
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
#include <iostream>
#include <conio.h>
#include <stdio.h>
 
using namespace std;
 
double func(double x)
{
  double y;
  y=(x-131)/(x-1)+5* fabs(x-6);
  return y;
}
int main(int argc, char* argv[])
{
   const int N=26;
   int i, imin;
   double a=2.0,b=7.0, xPmin, yPmin;
   double x1, x2, y1, y2, x[N+2], y[N+2];
   printf ("Method passivnogo poiska:\n");
   const double d=0.1;
   int j=0;
   for (double i=a; i<=b+ 2*((b-a)/N); i+=(b-a)/N)
     x[j++]=i;
   for (int i=0; i<N+2; i++)
       y[i]=func(x[i]);
   yPmin=y[1];
   for (i=1; i<N; i++)
   {
    if (y[i]<=yPmin)
     {
                    yPmin=y[i];
           imin=i;
     }
     
   }
   xPmin=(x[imin-1]+x[imin+1])/2;
   printf("Tochka minimuma: %f\nNaim. znacheniye f: %f\n", xPmin,func(xPmin));
   _getch();
   return 0;
}
а такое вам нра?
3
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
03.11.2012, 15:23  [ТС]
Да! Спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2012, 15:23
Помогаю со студенческими работами здесь

Удаление с запроса поиска точек, пробелов, символов (метод поиска по сайту)
Добрый день, знатоки, подскажите: Если клиент вбивает в поиск номер продукта (например: 167.4А78-38 47) как сделать что бы с этого...

Исследование пассивного четырехполюсника
Доброго времени суток! Уважаемые участники форума! Не могли бы вы помочь с решением данной задачи?)

Метод поиска в БД First->Next
...доброго времени суток, уважаемые форумчане... Возник вопрос: может кто знает, где можно подробно (желательно с конкретными примерами)...

USB HUB. Из пассивного в активный.
Здравствуйте. Имеется пассивный хаб с подсветкой на 4 порта, питается от 2-ух портов. Проблема: некоторые устройства отваливаются, а...

Передаточная функция пассивного четырехполюсника
Добрый вечер. Правильно ли найдет коэффициент передачи W(p)? Правила форума: 5.18. Запрещено размещать задания и решения в виде...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru