Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Получение производной


Автор: Firexel 22.7.2008, 18:54
Здравствуйте, уважаемые форумчане.
Пишу продвинутый калькулятор. Возникла такая потребность. Имеется математическая функция, представленная как массив обьектов "оператор", "число", "функция" и т.п. Необходимо найти производную, ну и, соответственно, представить ее этими же обьектами. 
Что можете посоветовать? Заранее благодарен.

Автор: Dobermann 22.7.2008, 20:20
Цитата(Firexel @  22.7.2008,  19:54 Найти цитируемый пост)
Что можете посоветовать?

Создать эту тему в разделе программирования...
Цитата(Firexel @  22.7.2008,  19:54 Найти цитируемый пост)
Необходимо найти производную

Разве проблема умножить степень на переменную и вычесть из степени единицу?!?!?! 

Автор: Firexel 22.7.2008, 20:25
Если бы все было так просто... Например, должен правильно идти обход блоков скобок, чтобы правильно преобразовать.

Я так понимаю, нет какого-то общего алгоритма. Тогда как лучше осуществить? Рекусивно?

Автор: Mal Hack 22.7.2008, 20:27
http://ru.wikipedia.org/wiki/Производная_функции
Вообще, первая, подчеркиваю, именно первая производная, при конечном вычислении и малом приращении аргумента может быть вычисленна по формуле (f(x)-f(x0))/(x-x0), что в принципе - тривиально.
Увеличение порядка проиводной увеличивает порядок полинова в числителе и знаменателе алгеброичекой функции. Это так. Для продумки.

Добавлено через 6 минут и 34 секунды
Цитата(Firexel @  22.7.2008,  21:25 Найти цитируемый пост)
Я так понимаю, нет какого-то общего алгоритма.

Если нужен лексический разбор мат выражений, то ищите "обратная польская запись", параллельно наткнетесь на еще пару других вариантов.
http://forum.vingrad.ru/forum/topic-169448.html
http://ru.wikipedia.org/wiki/Обратная_польская_запись

Автор: Firexel 22.7.2008, 20:38
Цитата(Mal Hack @  22.7.2008,  20:27 Найти цитируемый пост)
обратная польская запись

Ядро калькулятора работает на RPN. Я с ней знаком. Она тут не поможет. Разве что упростить выражение после составления.

Автор: Mayk 28.7.2008, 10:03
Поиск по ключевым словам "символьное дифференцирование"

Автор: Dobermann 28.7.2008, 17:41
Цитата(Firexel @  22.7.2008,  19:54 Найти цитируемый пост)
Пишу продвинутый калькулятор.

На чем хоть пишешь??? Ведь много имеется стандартных решений...

Автор: Firexel 29.7.2008, 11:32
JavaME (телефонная)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)