MATLAB: How to divide a matrix by a polynomial

element wise multiplicationelement-wise divisionMATLAB and Simulink Student Suitepolynomials

Having a matrix say 'A' whoose content is taken as variable for a P(x), which is a 3rd Degree polynomial, resulting in a Matrix 'Ax'. What operation should be done between P(x) and 'Ax' to get back 'A' ?
sample code is …
A=[0:0.01:1];
Ax = p1*A.^3 + p2*A.^2 + p3*A + p4; % p1 to p4 are coefficients of polynomials
How can 'A' be recovered from 'Ax' using P(x) ?

Best Answer

In general, you can't.
This is not aquestion of "dividing a matrix by a polynomial". In fact, that makes no sense at all. You have a list of points (x) that you are evaluating a polynomial at, and now, you want to recover the original x. Thus, given a point or set of points x, you have computed the value y for each x.
y = P(x)
Now, for each y, you want to recover the original value of x. Sorry, but you cannot do that operation uniquely, unless the polynomial is a linear one, in which case it is trivial. Even if the function is a quadratic polynomial, not the cubic one that you show, there will be multiple solutions, so no unique solution. You can never know which of those multiple roots to choose. This is no different from asking the question:
If I know the value of y=x^2, then which of the possible solutions,
x = sqrt(y)
or
x = -sqrt(y)
did I start with?
Related Question