Название: Перевести строку в математическое выражение Отправлено: mercy от Март 28, 2015, 21:31 Приветствую, форумчане. Просьба поделиться готовым решением.
Нужно из строки получить математическое выражение(математическую функцию). К примеру имеется строка "sin(x)+cos(x)", задаю параметр x и получаю на выходе результат. Название: Re: Перевести строку в математическое выражение Отправлено: gil9red от Март 28, 2015, 21:55 Что-то такое делал: https://github.com/gil9red/CalculateParser
Тот же аналог, но на питоне (в процессе): https://github.com/gil9red/calc-parser-python Название: Re: Перевести строку в математическое выражение Отправлено: mercy от Март 28, 2015, 22:18 Что-то такое делал: https://github.com/gil9red/CalculateParser Тот же аналог, но на питоне (в процессе): https://github.com/gil9red/calc-parser-python Спасибо, мне это очень поможет. Жаль что выражение от параметра не зависит, но ничего, это я сам уже доделаю:-) Название: Re: Перевести строку в математическое выражение Отправлено: kai666_73 от Март 30, 2015, 18:25 Еще варианты:
- заюзать flex/bison (lex/yacc) - boost::spirit (и иже с ним) Вкурить, правда, придется не детски, но зато и возможностей несоизмеримо больше. Название: Re: Перевести строку в математическое выражение Отправлено: Kurles от Март 30, 2015, 19:02 по-моему полезней для ТС будет прочитать хотя бы в википедии (https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D0%B8) про классические алгоритмы и попробовать реализовать самому, благо некоторые из них действительно элементарны.
|