Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2021, 17:30   #1
Veertus
Новичок
Джуниор
 
Регистрация: 26.04.2021
Сообщений: 3
По умолчанию Нахождение экстремумов функции через производную

Здравствуйте, нужна помощь.
Требуется уточнить положения максимумов и минимумов функции используя VBA, с помощью производной, которая в этих точках проходит через 0.
Сама функция: y = 8999 / (550 - x) + 40 * Sin(0.016 * x ^ 2 * Pi / 180) - 99 * Cos(3.5 * x * Pi / 180)
х - принимает значения от 100 до 500
Veertus вне форума Ответить с цитированием
Старый 26.04.2021, 18:08   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сама функция понятна, а самой производной у вас нет?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.04.2021, 18:28   #3
Veertus
Новичок
Джуниор
 
Регистрация: 26.04.2021
Сообщений: 3
По умолчанию

IgorGO,
Нет самой производной нет.
Приклеплю задание к курсовом, пункты 1.3 и 1.4
Там уточнить экстремумы можно любым способом по сути, прост сказано что через производную будет лучше всего
Изображения
Тип файла: png задание.png (45.5 Кб, 22 просмотров)
Veertus вне форума Ответить с цитированием
Старый 26.04.2021, 19:17   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

понял производной нет, а взять - никак?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.04.2021, 21:14   #5
Veertus
Новичок
Джуниор
 
Регистрация: 26.04.2021
Сообщений: 3
По умолчанию

IgorGO, производную взять не проблема. Вопрос в том как это реализовать на vba, так чтобы найденные экстремумы заносились в отдельную таблицу
Veertus вне форума Ответить с цитированием
Старый 27.04.2021, 09:37   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

производная - это тангенс угла наклона.
производная в конкретной точке - тангенс наклона в конкретной точке.
----------------
вам, судя по всему, надо эту функцию F проверить на интервале с каким-то шагом небольшим и смотреть, везде ли она монотонно возрастает и убывает.
пусть есть точка X(i), около неё есть предыдущая точка X(i-1) и последующая X(i+1).
вам всего-то надо проверить значения функции в этих трёх точках и сравнить их.
если F(i-1) < F(i) < F(i+1) ,то функция возрастает
если F(i-1) > F(i) > F(i+1) ,то функция убывает
если F(i-1) < F(i) > F(i+1) ,то мы нашли максимум - выводим его на экран
если F(i-1) > F(i) < F(i+1) ,то мы нашли минимум - тоже выводим на экран
----------
весь ваш код как раз в 18-20 строк и уместится
----------
попробуйте её проверить на вашем интервале от 100 до 500 с шагом 1.
потом, если охота, шаг 1 уменьшите до 0.1 - будет подольше, но более точные значения экстремумов
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 27.04.2021 в 15:12.
NetSpace вне форума Ответить с цитированием
Старый 27.04.2021, 09:53   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
производную взять не проблема
вот возьмите и покажите ее в след. сообщении
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.04.2021, 02:20   #8
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 953
По умолчанию

зная графический смысл производной
без VBA составил столбец значений от 100 до 500 с шагом 1

и рядом расчёт
= 8999 / (550 - A5) + 40 * SIN(0,016 * A5 ^ 2 * 3,1416 / 180) - 99 * COS(3,5 * A5 * 3,1416 / 180)

и рядом применяется графический смысл производной
=ЕСЛИ(ABS(B6-B5)<0,2;"MINIMAX";"norm")
где 0,2 критерий параллельности касательной и оси У пока шаг оси Х = 1

плюс подсчёт минимакс:
=СЧЁТЕСЛИ(C1:C400;"minimax")
очевидно точность управляема

и всё контролирует график столбца B
и вообще потрачено 18 минут

итого: дерзайте перевести на VBA
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск экстремумов функции. метод равномерного поиска(итерации) ksenija15reg Паскаль, Turbo Pascal, PascalABC.NET 1 17.04.2014 17:48
с++ как найти производную функции, но в общем случае? nati_94 Помощь студентам 1 18.02.2013 13:35
Метод средней точки (поиск Больцано) , нужен для нохождения оптимумов (экстремумов) функции jaguuuar Помощь студентам 1 27.10.2011 14:37
Нахождение экстремумов функции в delphi Tatusya Помощь студентам 5 18.06.2010 17:55