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

Транслирование строки формулы в набор функций - C++

Восстановить пароль Регистрация
 
Yaroslaman
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 31
17.10.2015, 15:01     Транслирование строки формулы в набор функций #1
Заголовок темы не совсем верно раскрывает суть вопроса.
Задача: вводим строку форумы (пример y=sin(x)+5. Левый коэф всегда y, т.е. мы его условно отбрасываем, в правой же стороне из неизвестных только x. Нужно составить транслятор из формулы в понятный вид. После чего получить производную данной функции.

Идеи: будем посимвольно перебирать всю функцию, проверям каждый елемент условиями,
1) если цифра
2) если буква, то какая, х или это функция (пример x+3 - переменная, xar(3)+4 - функция)
3) если это функция то за ней должна идти скобка
4) обязательно должен присудтсовать знак *, там где он предполагается быть
.....
5) уйма словий, но они будут решаться впоследствии создания более сложных и обширных функий, тот же логарифм, арккосинусы, степени и другое.

В конце всё будет складываться как дерево, т.е. функция y = sin(x+25^(3*x+exp(10*x))), будет выполняться так
sin (#1)
#1 = x+25^(#2)
#2 = (3*x+#3)
#3 = exp(#4)
#4 = 10*x

Т.е. разбить всё, а после решать с конца, сворачивая все к началу. При этом получать производную от каждой функции. Все производные хранять в бд в ввиде функция - её производная.
UP. Пользователь задает х в самом начале, после выбора необходимой функции из заданого листа, или ввода самостоятельно

Вопросы: явно пример решений должен быть, это какие то трансляторы или что то вроде, которые работают с лексическими фразами и словами.

Был бы рад получить несколько ссылочек или пинок в нужном направлении, поскольку не знаю как правильно сформулировать вопрос для гугла. Возможно Вы с этим сталкивались, тогда Ваши решения или советы были бы кстати.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 15:01     Транслирование строки формулы в набор функций
Посмотрите здесь:

Определить структурированный тип, набор функций (в виде меню) для работы с массивом структур C++
Строки и перегрузка функций C++
Строка: Выбрать из текстовой строки все слова, входящие в данный набор и вывести их на печать C++
C++ Объявление функций внутри других функций
С использованием функций и указателей отсортировать строки массива строк по убыванию C++
C++ Написать набор функций, обслуживающих блочно-диагональные матрицы из нескольких нижне-треугольных блоков
Строки и использование библиотечных функций для их обработки C++
Набор задач C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2867 / 1815 / 272
Регистрация: 27.08.2010
Сообщений: 4,921
Записей в блоге: 1
17.10.2015, 17:50     Транслирование строки формулы в набор функций #2
Цитата Сообщение от Yaroslaman Посмотреть сообщение
сформулировать вопрос для гугла
Symbolic computation
Yandex
Объявления
17.10.2015, 17:50     Транслирование строки формулы в набор функций
Ответ Создать тему
Опции темы

Текущее время: 05:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru