EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
matlab求多项式的系数: 
" g9 A0 `: K0 E4 S- e: D" m 
5 W8 t# `% Y/ R4 e单变量:4 ]5 d& @# E9 {  k( o5 t) P 
 
% t4 o; d# L, x$ N2 }syms x y 
6 d. b- ]" r$ l! Df1=x^4+2*x+1; 
' [: O: Q0 u! o9 V: _f2=y^6+5*y^3+3;! I, Q+ s( j( N0 p9 H) m 
f3=x^5+2*x^3*y^4+x*y^2+4;! z2 {( l  N% ?; g 
c = sym2poly(f1) 
% `+ h: W! U; C: A" X8 ^c = 
  O6 c4 J8 t' R    1     0     0     2     1 
0 [' d- |1 A2 K: ~. ]. {5 X>> c = sym2poly(f2) 
$ C. D$ e" [+ L2 Ic = 
, b7 O; x. B, O2 P    1     0     0     5     0     0     3 
! d4 k1 X" |2 O, U% `6 d, A% q, T* B: n& R3 ` 
多变量:$ o) m% D, _1 k 
! l# p4 C: H1 G2 l+ b 
unction coef=poly_coef(f,var) 
- D. V: T6 ~% \8 g%提取多项式f中指定变量var的系数,将结果赋给数组coef 
2 b9 ~4 R/ J" `0 I" y3 u2 ^%f可以是含多变量的多项式 
" [+ O2 v2 ~. W$ K: X0 i+ l%var是多项式中指定的变量,可选,默认是x 
' @! c, r: H3 X. B%要用到函数poly_degree()来获得f中指定变量var的最高次幂: q+ m7 a. ]9 _. X8 \6 J/ M7 i& D2 K 
IF nargin==1# R4 i5 H+ |3 {) J* E2 z' B 
var=sym('x');7 Z9 y8 r" }0 {& C7 _6 S: P, a  H 
end6 Y& S" q$ ?0 E/ z+ `1 v 
degree=poly_degree(f,var);, u# f2 ]7 w9 |2 w) M 
temp_f=f; 
9 E* k+ S) \% p4 c$ i, w8 E6 r! rcoef(degree+1)=subs(temp_f,var,0);. p% u" M+ N: ~& D 
for n=1:degree 
2 h! E* J( z% U  @/ q, J0 y* ctemp_f=simple((temp_f-coef(degree+2-n))/var); 
1 S9 L& I/ z; N( X: icoef(degree+1-n)=subs(temp_f,var,0); 
* H# I2 |4 g8 qend 
/ ~- M/ S2 q7 R& jend 
2 {& A- [  R6 E举几个例子:/ j2 l6 f( y$ F 
复制内容到剪贴板/ [. {  _+ Q# h, q 
代码:7 F& [# D# G7 w) I& S 
% j/ H5 `0 M# N* a7 w2 x  C 
>> syms x y 
7 M0 t  o! j7 L6 k$ @; M5 A>> f1=x^4+2*x+1;# p9 A1 b9 ?) E* } 
>> f2=y^6+5*y^3+3;& D! w9 X6 i1 ]/ _6 @1 L; y8 R 
>> f3=x^5+2*x^3*y^4+x*y^2+4; 
+ b( U+ a$ D& S# D+ |>> poly_coef(f1) 
6 ^* E& n& t; b: f& {; z! d' K$ k: G0 {7 @% J% b  b 
ans = 
1 t. F) q: [6 o* c% U 
- ~. s$ a4 h7 P$ ]                               [1, 0, 0, 2, 1]( H6 P1 C, U& C6 X( Y6 @) | 
>> poly_coef(f1,y) 
6 Y* w& a4 I# _8 h. I) M' ^ 
% o% w$ J8 ]: x- z9 Dans =7 x" K1 }7 K4 x" T 
+ ]" t5 [0 n  t$ r9 _0 R 
                               [ 4       ] 
# ~" [5 x7 [) a# V2 s                               [x   + 2 x + 1]6 K9 ]( d" w- _8 m" w; m 
>> poly_coef(f2), \7 |6 B& e3 k: P5 ] 
 
4 i% X+ v* w3 T) Ians = 
1 Z5 k( ~- s+ z 
8 R8 v' n" x' F+ i" b                               [ 6    3 ]* J: {/ ]" Y7 I 
                               [y   + 5 y   + 3]7 r& ~( |. `$ ~( s 
>> poly_coef(f2,y)2 S0 L; @( z( f0 g8 u) K 
 
9 [  h1 R! [5 m. p* @- V- V* cans =- w$ m" x* y1 N* Y) f) G: Y 
 
5 \9 X7 D6 A: P; o) \3 v4 d5 _& S                            [1, 0, 0, 5, 0, 0, 3]0 y! ?8 k, w3 A" T 
>> poly_coef(f3)/ Y3 J" R- l- [+ t 
$ w. k5 ^- ]( x' { 
ans = 
/ m* e, x; c; X/ b" l 
4 H8 [6 y# g/ O/ h- O                        [       4    2 ]' w  J6 u. X: y( d+ V2 w3 B/ e 
                        [1, 0, 2 y , 0, y , 4]  c' q9 I6 G/ e. h* [. y+ x0 Y 
>> poly_coef(f3,y): G( ~/ r/ V& C8 i, V 
& h' v5 i# i% J# u5 Z1 Z 
ans =. v  Z9 N9 y  ~8 L9 G 
 
$ X; o# J) t" d                        [ 3          5 ] 
0 x" q! m& H+ s3 W  A" p- `                        [2 x , 0, x, 0, x   + 4]  |