С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/41: Рейтинг темы: голосов - 41, средняя оценка - 4.88
3 / 3 / 4
Регистрация: 18.12.2013
Сообщений: 16
1

Нахождение минимума функции на интервале способом перебора

27.03.2014, 10:17. Показов 7960. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите реализовать программу, которая позволяет найти минимум некоторой функции на заданном интервале. Алгоритм нахождения минимума заключается в последовательном переборе с заданным шагом точек интервала и сравнении значений функции в текущей точке с ранее найденным минимумом. Нахождение минимума реализовать отдельной функцией. Параметры функции - интервал, указатель на функцию, для которой ищется минимум, и шаг (по умолчанию шаг равен 0.00001). Разместить все функции, кроме main(), в отдельной единице трансляции (заголовочный файл и файл реализации).
0
Лучшие ответы (1)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
27.03.2014, 10:17
Ответы с готовыми решениями:

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

Поиск минимума функции методом последовательного перебора
Здравствуйте уважаемые пользователи. Немогли бы вы мне обьяснить как производиться поиск минимума...

Найти значение минимума функции на заданном интервале (дихотомия)
Разработать программу, находящую значение минимума значения функции на заданном интервале. Метод...

Нахождение минимума функции
Помогите,пожалуйста.Не могу найти минимум функции

3
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
27.03.2014, 11:00 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
typedef (*Func)(double x);
 
double Solve(double Start, double End, Func f, double Step = 0.00001)
{
double xMin = Start;
double fMin = f(Start);
while(Start < End)
{
if(f(Start) < fMin)
{
xMin = Start;
fMin = f(Start);
}
Start +=Step;
}
return xMin;
}
вот ф-ция которая ищет минимум, остальное я думаю сможете доделать
1
3 / 3 / 4
Регистрация: 18.12.2013
Сообщений: 16
27.03.2014, 13:25  [ТС] 3
1>------ Сборка начата: проект: МинимумФункции, Конфигурация: Debug Win32 ------
1> МинимумФункции.cpp
1>c:\users\documents\visual studio 2013\projects\минимумфункции\минимумфункции\somefile.h(3): error C2061: синтаксическая ошибка: идентификатор "Func"
1> SomeFile.cpp
1>c:\users\documents\visual studio 2013\projects\минимумфункции\минимумфункции\somefile.h(3): error C2061: синтаксическая ошибка: идентификатор "Func"
1>c:\users\documents\visual studio 2013\projects\минимумфункции\минимумфункции\somefile.cpp(5): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1> Создание кода...
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Ошибка в строке typedef (*Func)(double x);

Добавлено через 9 минут
aLarman, Пожалуйста напишите полностью, а то все ошибки выдает. Функцию можете взять x * x + 2 * x;
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
27.03.2014, 14:01 4
Лучший ответ Сообщение было отмечено BennyVorona как решение

Решение

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
double Function(double x)
{
    return x*x+2.*x;
}
 
typedef double(*Func)(double x);
 
double Solve(double Start, double End, Func f, double Step = 0.00001)
{
    double xMin = Start;
    double fMin = f(Start);
    while(Start < End)
    {
        if(f(Start) < fMin)
        {
            xMin = Start;
            fMin = f(Start);
        }
        Start +=Step;
    }
    return xMin;
}
int main(int argc, char* argv[])
{
    double Start = 0, End = 0;
    cin >> Start >> End;
    double x = 0;
    x = Solve(Start, End, &Function);
    cout << "x = " << x<<endl;
    system("pause");
    return 0;
}
1
27.03.2014, 14:01
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
27.03.2014, 14:01
Помогаю со студенческими работами здесь

Нахождение минимума функции
Нужно найти минимум без использования fminbnd функции y=x/lnx, вот что у меня получилось, но в...

Нахождение минимума функции
Суть проблемы: первоначально набирается некая функция, зависящая от 5 переменных(от 5 ячеек...

Нахождение минимума функции
Надо на VB найти минимум функции y=f(x)

Нахождение минимума функции
Добрый день! Столкнулся с проблемой при работе: Есть некая степенная функция от одной переменной...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru