# how to do polynomial division

64 views (last 30 days)
faa nad on 3 Nov 2011
hi...
i wanna do polynomial divison given numerator=x^5+x^4+x^3 and
denominator=x^3+x+1 ;remainder should be x...how to implement it in matlab..
##### 2 CommentsShow 1 older commentHide 1 older comment
faa nad on 5 Nov 2011
yes ,it is a binary polynomial

Daniel Baboiu on 3 Nov 2011
You have two choices: 1. Use the Symbolic Math Toolbox 2. Store all coefficients as a vector (including the coefficients which are 0), then use this representation to implement division steps as described below: http://en.wikipedia.org/wiki/Polynomial_long_division
##### 2 CommentsShow 1 older commentHide 1 older comment
Walter Roberson on 5 Nov 2011
In mathematics, we mentally extract the coefficients in order to do the division.

Andrei Bobrov on 5 Nov 2011
[a,b]=deconv([1 1 1 0 0 0],[1 0 1 1])
p1=[1 1 1 0 0 0]
p2=[1 0 1 1]
[a b] = deconv(p1,p2)
syms x
k = cellfun(@(y) y*x.^(numel(y)-1:-1:0).',{a b p2},'un',0)
k = [k{:}]
out = k(1) + k(2)/k(3)
faa nad on 5 Nov 2011
the answer given by u works well..but my aim is to divide two polynomial expressions[1+x+x^2]/[1+x] directly.the output must be polynomial expression

Walter Roberson on 5 Nov 2011
As you have restricted this to symbolic expressions without ever extracting the coefficients (at least not in code you write, even if it gets done "under the hood"), then the solution is to use the MuPAD Standard Library function pdivide
I could offer a very nice and efficient calculation for polynomials up to order 52 where the coefficients are all 0 or 1, if we are allowed to extract the coefficients in the code (which you could stuff in to a subroutine and never look at again), but I gather that efficiency and simplicity are not important for your purposes.
Maria Maximina on 21 Feb 2014
hi! o have one question for you! i know it is long time ago.. but anyway.. jajaja if u do that operation that you suggested, and you get a vector like:
[a,b,polinom]
what do actually a and b mean??? thanks!

Ahmed J. Abougarair on 18 Nov 2022
syms x y
p = x^3 - x*y^2 + 1;
d = x + y;
[r,q] = polynomialReduce(p,d)

### Categories

Find more on Library Domains in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by