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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.87
DJEDY
0 / 0 / 0
Регистрация: 07.04.2009
Сообщений: 10
#1

Поиск экстремумов функции - C++

07.04.2009, 13:53. Просмотров 6425. Ответов 6
Метки нет (Все метки)

Вообще завал((

Была задана такая задача:
Найти экстремумы функции y=2*sin(3*x)

С чего вообще начать решать эту задачу?

Есть ли какие-нибудь специальные функции(и если есть какие нужны библиотеки) чтобы реализовать алгоритм на Borland C++ ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2009, 13:53     Поиск экстремумов функции
Посмотрите здесь:

Поиск экстремумов - C++
Помогите, пожалуйста, с задачей: Определить экстремумы функции f(x)=5*x^2+15*x+0.5 методом дихотомии, с точностью е=0.01 Поиск...

Поиск экстремумов, методы золотого сечения, дихотомии, кв. интерполяции-экстраполяции - C++
Всем привет! Возникли проблемы с реализацией методов, указанных выше. Функция всегда используется одна и та же, следовательно, экстремумы у...

Вычислить координаты и значения экстремумов гамма-функции на отрезке (-2;2) - C++
вычислить координаты и значения экстремумов гамма-функции на отрезке (-2;2) (вообще без разницы на каком языке)

Функции. Поиск минимума и максимума. - C++
Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y

Адресация и поиск переменной/функции - C++
Здравствуйте! Возникла такая задача. Есть какой-то .exe файл (х64). В иде я нашел переменную и её значение. Через артмани я нашел...

Поиск экстремума функции двух переменных - C++
нужна помощь, циклит программу в с++ с ошибкой -1.#end #include "stdafx.h" #include <iostream> #include <math.h> using namespace...

Поиск минимума с помощью рекурсивной функции - C++
#include<iostream> #include <time.h> using namespace std; int mina(int ar, int n){ int min = ar; for (int i = 0; i <...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YurA_280784
Заблокирован
07.04.2009, 13:56     Поиск экстремумов функции #2
За библиотечные функции не знаю, а методов целая куча - например градиентный, описание метода есть в википедии причём с исходниками...Просто погугли...
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
07.04.2009, 13:56     Поиск экстремумов функции #3
Тебе будет достаточно функции sin из <math.h>, останется только задать x в некотором диапазоне и смотреть на каких значениях ф-я принимает максимум или минимум.
DJEDY
0 / 0 / 0
Регистрация: 07.04.2009
Сообщений: 10
07.04.2009, 14:24  [ТС]     Поиск экстремумов функции #4
С синусом мне всё ясно. А вот как реализовать вычисление производной функции?
YurA_280784
Заблокирован
07.04.2009, 14:50     Поиск экстремумов функции #5
Производная функции может быть найдена согласно определению
df = (f(x + dx) - f(x) )/dx при dx->0
т.е. берём маленький шаг, скажем 0,0001 и считаем
(f(x + 0.0001) - f(x))/0.0001 я так в своё время считал магнитный поток по вектору индукции, только я наоборот первообразную находил,
на а вообще производная y=2*sin(3*x) равна 6*cos(3*x)

Добавлено через 11 минут 39 секунд
Вот код реализующий мои слова
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
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
float f(float x);
float df(float x);
 
void main()
{
    float a,b,h;
    printf("\tNahozhdenie extremymov y=2*sin(3*x)\r\n");
    printf("Vvedite nizhnuu granicy a :  ");scanf("%f",&a);
    printf("Vvedite verhnuu granicy b :  ");scanf("%f",&b);
    printf("Vvedite shag vichisleni h :  ");scanf("%f",&h);
    float x = a;
    while(x + h <= b)
    {
        printf("x : %.3f - y : %.3f dy : %.3f\r\n",x,f(x),df(x));
        x += h;
    }
    printf("1 - raschet' na novom intervale\r\n");
    if(49 == getch())
        main();
}
 
float f(float x)
{
    float y = 2*sin(3*x);
    return y;
}
 
float df(float x)
{
    float h = pow(10,-6);
    float dy = (f(x + h) - f(x))/h;
    return dy;
}
В проге выводятся все значения 1-ой производной, но я думаю вывести экстремумы - нет проблем, т.к. это точки в которых 1-я производная равна нулю...
DJEDY
0 / 0 / 0
Регистрация: 07.04.2009
Сообщений: 10
07.04.2009, 15:00  [ТС]     Поиск экстремумов функции #6
Скажи а в 24-ой строчке для чего ты написал ф-ию main() ?
ато мне при компиляции с ней у меня появляется ошибка:
cannot call 'main' from within the program
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2009, 23:49     Поиск экстремумов функции
Еще ссылки по теме:

Циклы. Табулирования функции и поиск данных - C++
Протабулировать функцию y=f22(x) на промежутке с шагом h = 1.4. Результаты вычислений вывести в виде таблицы пар чисел х, у. вычислить...

Написание функции на С++ (поиск максимального элемента) - C++
Написать функцию поиска максимального элемента, использовать ее для поиска среди 4х и 5 чисел. Количество чисел передавать в функцию в...

Поиск минимума функции методом наискорейшего спуска - C++
Добрый день. Передо мной встала задача: реализовать поиск минимума функции градиентным методом наискорейшего спуска. Я программу решила...

Поиск максимального значения функции на заданном промежутке - C++
Дана функция y=2x3+1. Написать программу для поиска максимального значения у в промежутке х принадлежит с шагом 0,2

Поиск максимального элемента строки матрицы (функции) - C++
Здравствуйте! Помогите пожалуйста с задачкой: сделать программу в функции которой будет высчитываться произведение максимальных эле¬ментов...


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

Или воспользуйтесь поиском по форуму:
Kalashnikov
14 / 14 / 1
Регистрация: 08.02.2009
Сообщений: 63
07.04.2009, 23:49     Поиск экстремумов функции #7
Цитата Сообщение от YurA_280784 Посмотреть сообщение
C++
1
2
3
printf("1 - raschet' na novom intervale\r\n");
    if(49 == getch())
        main();
это рекурсия для того чтоб считать опять, её можешь выкинуть, некоторые компиляторы не поддерживают рекурсию меина
Yandex
Объявления
07.04.2009, 23:49     Поиск экстремумов функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru