EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:4 T) u" E7 h Z* O5 E1 B
/ ?/ ]; y. v0 k% H6 n5 T单变量:0 d6 s% N+ r+ A! V# l1 @: o1 |
7 ?2 I7 X1 y- t* q$ q W
syms x y( r0 ?9 ^! G9 ]+ W
f1=x^4+2*x+1;1 U! A9 _- \+ l! x/ @
f2=y^6+5*y^3+3;
1 w' a: j0 R2 q+ f. Uf3=x^5+2*x^3*y^4+x*y^2+4;
5 f& v0 r+ Z+ r% E% E3 x6 Wc = sym2poly(f1), O) Y2 }: T7 F1 m4 Q
c =5 O1 e0 u! s; ]+ B# j
1 0 0 2 1& N$ y% P8 A, ?4 @( A8 w$ q
>> c = sym2poly(f2)3 _5 J- }& {0 `
c =6 @8 N5 E1 E3 Q5 Y; S- a: k0 g
1 0 0 5 0 0 3
) R( ?0 N3 x5 Q" h
3 J2 v9 ]9 t0 [% X7 z多变量:
" U7 |) m# {+ r' X
* m2 R2 t9 P3 a. Lunction coef=poly_coef(f,var)
4 O- L/ M# h4 D%提取多项式f中指定变量var的系数,将结果赋给数组coef! I2 u% j9 Z+ U6 Q# Y7 d
%f可以是含多变量的多项式
8 r1 b& T( D; K1 P) n! V%var是多项式中指定的变量,可选,默认是x- n4 C2 ~- t e6 I; c7 B- B* y
%要用到函数poly_degree()来获得f中指定变量var的最高次幂9 I) q, `3 m0 D
IF nargin==1
, f( Z- h8 O, u/ U/ L. ^9 X" vvar=sym('x'); t$ N$ Z4 w/ D; C, Q O# L
end% U& v( A& ~1 I/ [- J' o
degree=poly_degree(f,var);- @ m- M: D& Q
temp_f=f;
0 ^1 n8 Z8 [: R( M% ]5 Qcoef(degree+1)=subs(temp_f,var,0);# E( S/ [: G! y6 [. p/ k& s) |
for n=1:degree" c5 j% V( ?4 l3 r' G; G
temp_f=simple((temp_f-coef(degree+2-n))/var);' E1 @+ h, A" U- `3 o3 b0 |1 u* F: n
coef(degree+1-n)=subs(temp_f,var,0);8 E' h' l' J7 c: a; x7 r
end
# B4 T3 ~; W. h; _+ Q4 yend
+ w* B" C8 P% h. h# m举几个例子:/ a; n+ k& L: L6 T6 h2 z, m
复制内容到剪贴板; j; T ]/ Q5 {7 Y
代码:) [% K8 H8 Z% r0 O0 E" o, f
^ d9 W; t M7 Z: [
>> syms x y" l w- a& P7 H0 m
>> f1=x^4+2*x+1;3 X' t4 k5 I' R* i( z
>> f2=y^6+5*y^3+3;
7 A0 R: x9 `" V2 V>> f3=x^5+2*x^3*y^4+x*y^2+4;) q2 I' I$ }) @. {
>> poly_coef(f1)
9 A+ _( F! d, z1 w2 h5 ~. S& q( X! y2 |' u$ w9 U; K) i' w) r
ans =
0 w3 @0 b+ o1 H5 ?5 B, Z* _2 s! [ i! u. |4 \% Q; p
[1, 0, 0, 2, 1]1 V) m8 U; c; h5 [
>> poly_coef(f1,y)
, F! G4 R' l. a- |
- f2 k. z5 Q: Q% D0 Lans =6 g ]% Q4 [" O# {+ [- f+ s
( z8 J+ l6 n; P; O2 p. ^6 x" {
[ 4 ]
# X% i7 k* u6 W" m9 o$ s0 A [x + 2 x + 1]
5 n. [2 d& P. N>> poly_coef(f2)
! G# Y; O# Q, w: S" A! j. v4 a$ u6 ^; T/ W
ans =
4 u- m6 v3 R4 }' w+ V0 P! h0 L7 R' Z1 E* A N, a+ h6 C
[ 6 3 ]0 o& H& B( i( g. b5 \
[y + 5 y + 3]" Y6 a, X4 E) q+ V7 k# i5 _
>> poly_coef(f2,y)7 `2 e0 z$ q+ \! d& l% M+ B
6 q. f! t3 K& c" X
ans =
/ f5 j9 m/ X1 k' S, ?7 W3 H+ y, o* [$ x/ ?
[1, 0, 0, 5, 0, 0, 3]
! O: ^& {+ K6 d+ z>> poly_coef(f3)
$ Z3 K4 B. {7 _3 V- Z
8 U' d1 @- ^& I2 A1 Zans =
) t) O J% _$ l' N& ]% N% ?% m8 H( g& A5 i2 q. G0 p+ [" U$ X+ Q) {
[ 4 2 ]0 m; G: `& Z# C ^6 o
[1, 0, 2 y , 0, y , 4]9 y# J- Q- J c4 k% e+ L* m4 \1 P
>> poly_coef(f3,y)
. W4 J7 m& y! [! w/ U( t& }. I: C) J* V/ L. Q2 J; ~
ans =
) K% g( `* r$ }+ m% g3 ~' B
( d% v/ S* y1 y# C- {2 G2 h( F [ 3 5 ]3 u6 G6 h) r$ _- Z
[2 x , 0, x, 0, x + 4] |