Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Divide two polynomials using MATLAB

Tags:

matlab

I want to divide p(x) by q(x) given that:

p(x)=-5x^4+3x^2-6x
q(x)=x^2+1

I tried:

p=inline('-5*(x^4)+3*(x^2)','x')

p =
     Inline function:
     p(x) = -5*(x^4)+3*(x^2)

q=inline('x^2+1','x')

q =
     Inline function:
     q(x) = x^2+1

deconv(p,q)

but got error:

??? Undefined function or method 'filter' for input arguments of type 'inline'.

Error in ==> deconv at 32
   [q,zf] = filter(b, a, [1 zeros(1,nb-na)]);

WHY?

like image 505
izzat Avatar asked Sep 15 '26 08:09

izzat


1 Answers

Inline functions are just matlab expressions that it will evaluate. It has no idea whether they are polynomials or not.

You want this:

p = [-5 0 3 -6 0];
q = [2 0 1];

[quotient remainder] = deconv(p, q)

No need for Symbolic Math Toolbox here.

like image 71
Nzbuu Avatar answered Sep 18 '26 04:09

Nzbuu



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!