Я не уверен, что этот объект, который вы пишете, должен делать, но вы можете поиграть с моим набором инструментов sympoly, который позволяет выполнять символьные вычисления для полиномов. Он находится на обмене файлами.
Если все, что у вас есть, - простые полиномы, вы всегда можете использовать conv для вычисления степеней (x - a), складывая их вместе. Таким образом, если мы имеем полином
P(x) = 3*x^2 + 2*x + 1
и мы хотим сформировать полином Q (x) = P (x-3), для этого требуется всего несколько операций.
Q = 3*conv([1 -3],[1 -3]) + 2*conv([0 1],[1 -3]) + 1*conv([0 1],[0 1])
Q =
3 -16 22