Понимаешь, если у тебя всегда многочлен и известна его максимальная степень, то проблем нет. Пусть, например, надо находить производные многочленов степени не выше 9. Тогда такой многочлен можно представить массивом из 10 элементов (индексы с 0), где каждый элемент - это коэффициент при соответствующей степени.
Твой многочлен y=4x^4-2x^3+3 будет представлен массивом a (0, 0, 0, 0, 0, 4, -2, 0, 0, 3)
a(0) = 3, a(1)=0, a(2)=0, a(3)=-2, a(4)=4
Тогда результат - это тоже массив, назовем его b. Его элементы будут вычисляться как b(i) = a(i+1)*(i+1)
Проверяем:
b(0) = a(1)*1 = 0
b(1) = a(2)*2 = 0
b(2) = a(3)*3 = -6
b(3) = a(4)*4 = 16
остальные 0
А если функция неизвестна - ну, то есть там всякие sin, cos, ln встречаются, то придется тебе разбирать строку, складывать встречающиеся компоненты в массив... А не дай бог там еще сложные функции встретятся (типа sin(2^x))... Тоже, в принципе, можно, наверно разобрать. Только тогда лучше дерево строить...
GSerg писал(а):Маткадом восхищаюсь... Даже не знаю, как начать думать о том, каким образом там производятся символьные вычисления.
Это точно! Но было бы интересно, как это они все-таки сделали. И если для вычисления производной я еще могу себе представить хоть как-то, то вот интегралы...
GSerg писал(а):А expression, может, и можно переделать в derivative, надо попробовать

Это ты о чем? - не поняла...