![]() |
Символьное интегрирование
В общем, имеется некоторая функция f(x), заданная строкой.
Что-то типа "2*x+sin(e^(cos(x*x)))" Необходимо найти первообразную этой функции. Я думаю, что сначала нужно разбить исходную функцию на дерево операций (алгоритм), после чего каким-то алгоритмом интегрировать эту дурь. В общем, на выходе должно получиться дерево операций, но уже первообразной для данной функции. Кто-нибудь знает?? |
Ответ: Символьное интегрирование
Тююю - а я думал (прочитав заголовок): что-то интересное будет.
Кто-то знает. Собственно, последовательность действий расписана верно. Что конкретно тебя смущает? Вообще, задача (особенно, как мне видется, в плане символьного нахождения первообразной) нетривиальна. Ты уверен, что тебе надо именно это? Численное интегрирование не подойдёт? апд: готовые либы/модули опять же |
Ответ: Символьное интегрирование
тебе нужен свой алгоритм или программа что бы это делала ?? Если второе то гугл же !!
|
Ответ: Символьное интегрирование
надо именно свой алгоритм. Численное интегрирование проще, не спорю...даже легко реализуемо, но хотелось бы именно символьное. в гугле ничего толкового не нашел.
Цитата:
|
Ответ: Символьное интегрирование
Цитата:
Цитата:
|
Ответ: Символьное интегрирование
Первое что в голову приходит, так это задача разбить строку на блоки, исходя из приоритетов по вычислениям.
Если начать с начала "2*x+sin(e^(cos(x*x)))", то будет: [1] = 2*x [2] = [1] + [3] [3] = sin([4]) [4] = e ^ [5] [5] = cos([6]) [6] = x * x Исходя из скобок и т.п., можно вычислить приоритеты. Если по пути выражения бало найдено выражение со скобками, то нужно повысить приоритет относительно контейнера выражений в котором он находится. Каждое выражение может быть контейнером других, и приоритеты локальны (в скобках и т.п.). Разбив так вот, можно уже интерпретировать в мат функции, т.к. компоненты намного проще. Далее уже двигаться далее, тут уже математика, я хз в этом.. Кто-то у нас на форуме делал подобное.. |
Ответ: Символьное интегрирование
Цитата:
Цитата:
|
Ответ: Символьное интегрирование
Что-нито может получиться только в частных случаях
обычная суперпозиция функций очень не обычно интегрируется, а при разных функциях вообще разные методы и еще, бывают интегралы не берущиеся, которые выражаются через известные дельта, гамма функции и т.д. и мне интересно как ты их будешь определять и мне кажется что тут обычно делают разбор по частным случаям и методам, и чем больше вариантов ты сделаешь, тем больше функций у тебя программа сможет проинтегрировать |
Часовой пояс GMT +4, время: 06:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot