EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:, ^9 ~% Z/ l$ k& S, W; e$ S! _- W( o$ x
( M* U w4 g% q
单变量:5 a) F' G, A, [( [# w. l( Q
- t5 H. K. a; Lsyms x y$ P! {/ V+ g8 G0 W; s5 e5 m* O; M
f1=x^4+2*x+1;1 r" F! P3 i" F2 \+ m
f2=y^6+5*y^3+3;
1 I- l& h9 O, v4 p* vf3=x^5+2*x^3*y^4+x*y^2+4;# l! w: B( m; v' X
c = sym2poly(f1)
" a9 A5 O& K" J. n4 h: Xc =
, ^* P* k; d$ m 1 0 0 2 1% O5 O( o* L5 I' `' c9 a
>> c = sym2poly(f2)
1 ~" W1 c p- j4 rc =
+ ^0 c* t# t. Z2 d 1 0 0 5 0 0 3, W+ S9 I: r" ^- P
2 o. @& D- [) C$ i H+ \2 C" Q+ V2 |多变量:
5 V4 R7 Z) v. x# M: m' ^' g6 I7 V8 w, l$ k
unction coef=poly_coef(f,var)
9 j: P w; b1 [9 @; W, x8 |5 Y$ w8 k%提取多项式f中指定变量var的系数,将结果赋给数组coef
9 ^( G/ C8 `7 i: K+ b%f可以是含多变量的多项式: N- z# a% G4 q2 c2 Y) I
%var是多项式中指定的变量,可选,默认是x0 ~7 y+ I C6 S6 e1 r
%要用到函数poly_degree()来获得f中指定变量var的最高次幂
: t! B4 P6 Q+ f! z# ]$ R8 HIF nargin==1% \4 _+ p* x0 J- v/ J
var=sym('x');! e& P6 D- Z/ n% _5 D
end
& A! B* n( Y. [; f* z& D9 Wdegree=poly_degree(f,var);
5 a U* ], p+ f- |. etemp_f=f;6 ^9 s* t1 V/ `* b) Q
coef(degree+1)=subs(temp_f,var,0);, j5 g2 ?8 t2 t6 t
for n=1:degree S1 W( c: z# m0 _# X' m0 Z
temp_f=simple((temp_f-coef(degree+2-n))/var);1 U. M2 e# B" t( \* @
coef(degree+1-n)=subs(temp_f,var,0);
, K6 |; v( `: S% F- L$ rend/ Q& y' K& `* L8 G/ L) S1 G$ S
end
+ w$ D k0 c- _; B6 m$ G$ d- n1 O举几个例子:3 Y& s. {0 N) a: ]9 R8 j# L
复制内容到剪贴板3 h+ Q, r" U! {
代码:
$ K7 O9 l9 } F [. ^, }, s% W4 d; r: m3 [/ u
>> syms x y
) u% @5 ^% b" s6 I$ e; }>> f1=x^4+2*x+1;
6 H V0 ^5 t- r. T- @! ~" E>> f2=y^6+5*y^3+3;
- x" p- g8 [- w- m- g) k1 o8 I>> f3=x^5+2*x^3*y^4+x*y^2+4;
8 |% c2 j% M0 j8 s# ~7 b" h>> poly_coef(f1)
" O { m K! L% T; x( B0 L
! l9 a1 w/ e3 H. Fans =" n3 Z+ H# p2 X5 q4 {# {
, Y5 k9 R3 o7 D6 [ [1, 0, 0, 2, 1]4 O" I! P# r8 U D9 Z% F
>> poly_coef(f1,y). j1 k$ L; U8 \2 R, Q( i/ M
: O4 D) {9 _4 g8 V- Hans =
) e; P V3 P% G3 N4 L+ r u; C& z" f
[ 4 ]3 ]/ f% Z+ J5 U
[x + 2 x + 1]6 R+ e3 f5 A2 ~, E
>> poly_coef(f2)( ~2 _. v9 N& D3 U+ N% n) ^0 N
) p4 G) |% k1 P( H" z6 d- bans =
$ o- o K3 r p/ R r6 q9 x
7 r2 f1 X+ }6 S5 v. _ [ 6 3 ]
$ Z/ l/ T7 I% N5 ` r t [y + 5 y + 3]* S3 C/ _5 N% D8 I# V8 g/ J
>> poly_coef(f2,y). G p( f& t' I$ ?3 Y' c
+ V# ]) S$ e( ]0 @& d A
ans =
9 Y# R, V! I3 f4 J% @7 K
, z- v& Q( A4 w) c& t6 a# g [1, 0, 0, 5, 0, 0, 3]+ h# {' m- A$ F0 e, I( H4 \
>> poly_coef(f3)! a0 }7 U& S! ]' N, p: c! k- L( s
( |# q" B& B% Q; f8 G: f; @7 B; ^
ans =
8 G8 d3 G" C; L! H! F% [7 g& A6 ?( \+ j. D2 r
[ 4 2 ]/ \. p6 D* ?- R
[1, 0, 2 y , 0, y , 4]
$ J3 j6 n& X# u# O& B8 o/ E- H>> poly_coef(f3,y)
; C2 H; ?- M( ?7 V/ J# H
1 P4 D' J4 t$ s0 xans =
Q- ^2 D1 m5 q: @2 m" B4 `7 I- ?/ W2 r$ v
[ 3 5 ]( S" \. w# M$ l$ A4 y
[2 x , 0, x, 0, x + 4] |