Pull to refresh

Comments 9

Честно говоря, после прочтения заголовка подумал, что здесь будет что-то про комбинаторику.

У вас, насколько я понял, не хватает симплификации, т.е. упрощения выражений, что хорошо бы сделать в соответствии с правилами алгебры.

Я почти написал подобную библиотеку, тоже на C# (трансляция на другие языке не особо сложная), только с использованием GOLD Parser для разбора выражений. Кроме того, в ней можно задавать правила вычисления производных и правила алгебры динамически в виде обычных строк, а также возможна компиляция сгенерированных выражений.
Хабравчане, имеет ли смысл выкладывать статью и исходники о том, как я это сделал?
Да. Буду рад почитать и что-нибудь написать с библеотекой)
Да, вы правы, у меня действительно не реализовано упрощение выражений. Можно этим заняться.
А в название тогда добавлю ударение, чтобы люди не путали.
И да, конечно пишити статью, лично я с удовольствием почитаю.
Всем, кто пытается найти производную алгебраическими методами, а уж тем более методами ООП, следует попробовать найти производную от функции (3x+1)/(2x+1) в точке 10^20.

Верное значение — 0,25 * 10^-40. Между прочим, это значительно больше, чем double.MIN_VALUE.
А если получился ноль, как у автора статьи — есть повод задуматься.

PS а если эту производную вы успешно вычислили, то замените один из иксов в формуле на 1/sin(1/x)) и попробуйте снова.
Забавно получилось: в первом случае действительно получился ноль, что неверно, а второй раз, заменив икс в числителе на 1/sin(1/x)), получил "-1.5 * 10 ^ -20".
А что вы можете сказать про подсчет производных в «символьном» виде с последующим вычислением?
Я как то для этих целей использовал библиотеку sympy на python'е, но т. к. это была просто лабораторная работа, с такими тонкостями не заморачивался.
В C# есть полноценные Expression, зачем нужны такие деривативы?
Expression-ми пользоваться не приходилось, но судя по msdn штука полезная.
В практической пользе своего кода я сильно сомневаюсь, а вот как пример для теории — вроде довольно наглядно получилось.
Sign up to leave a comment.

Articles