how to do polynomial division
26 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(4 个)
Daniel Baboiu
2011-11-3
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 个评论
Walter Roberson
2011-11-5
In mathematics, we mentally extract the coefficients in order to do the division.
Andrei Bobrov
2011-11-5
[a,b]=deconv([1 1 1 0 0 0],[1 0 1 1])
add
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)
Walter Roberson
2011-11-5
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.
5 个评论
Walter Roberson
2011-11-6
Do you have the symbolic toolbox installed and licensed? If not, then you cannot do what you are asking for, as only the symbolic toolbox hides extracting the coefficients of polynomials.
Maria Maximina
2014-2-21
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
2022-11-18
syms x y
p = x^3 - x*y^2 + 1;
d = x + y;
[r,q] = polynomialReduce(p,d)
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!