|
|
|
| Здравствуйте!!!
Есть ли какие-то библиотеки на С++ для нахождения производной в аналитическом виде, если есть то где их можно скачать?
Если нету, то как можно найти производную функции n-го порядка в численном виде на C++? | |
|
|
|
|
|
|
|
для: morgan18
(28.01.2012 в 18:26)
| | Когда только создавались языки высокого уровня, произошло большое разделение: был создан Fortran - для численных расчетов и LISP - для символьных вычислений. С тех пор ветка Fortran (императивные языки), к которой относится и C++ эволюционировала к объекто-ориентированным языкам, а ветка LISP (функциональные, символьные языки) эволюционировала к декларативным, логическим языкам.
На C++ можно решить любые задачи, но задача не из его лагеря, для этого больше подходят символьные языки, даже если такие системы как Mathematica или Mathcad создаются на C++, там очень быстро рождается какой-то LISP-подобный синтаксис, так как вычисления чисто символьные. Т.е. библиотеки наверняка есть, более того есть книга Символьный C++, полностью посвященная построению таких систем.
Т.е. строго говоря, нужно построить при помощи C++ символьный мини-язык и уже при помощи его решить задачу нахождения производной. Это конечно утрировано, так как если речь идет степенной функции одного переменного - там и делать то нечего, кроме как применить несложные правила, но в общем случае - проще и дешевле сразу сменить язык программирования или разработать новый :))) | |
|
|
|
|
|
|
|
для: morgan18
(28.01.2012 в 18:26)
| | Есть и численные алгоритмы нахождения производной, однако, они применяются в том случае, если у вас нет аналитической формулы... т.е. выдает вам прибор численный график или спектр, а вам нужно побыстрее и поточнее найти экстремумы, тогда прибегают к численному дифференцированию, однако, к нему не стоит прибегать, если вы имеете дело с готовой аналитической формулой - в этом случае лучше произвести символьное дифференцирование, даже если придется реализовывать элементы других языков программирования. | |
|
|
|