EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:( [+ K) I+ v% Z+ F
- y/ }, c8 q/ `7 j: h单变量:% r# H# x9 P! m. ~! i8 ?
; y3 O, k' T* G$ o# Bsyms x y" P) p, k7 U8 A ^: x: z
f1=x^4+2*x+1;
) K: M% i9 c1 |! B' Q% Mf2=y^6+5*y^3+3;, _# |, j1 @/ O1 v, X) w
f3=x^5+2*x^3*y^4+x*y^2+4;
- R. h# y3 N4 v; A( Y: Zc = sym2poly(f1)7 j6 t0 g$ K" E+ S
c =5 C* ?* D# ?8 ]% l" K3 r8 Y, b
1 0 0 2 1; r) ? \" W' G" I
>> c = sym2poly(f2) D. Q& B. B5 o$ Y1 P; Y* f* h
c =
4 ^8 ^( H- B1 Z 1 0 0 5 0 0 3/ R7 x, X4 c" o% y1 n6 c
7 g( q% J( @3 e; v
多变量:
3 P. r( F, ?, O" f& q8 @+ t- C" ]- p/ u+ y
unction coef=poly_coef(f,var). }, {; a5 e2 S1 S
%提取多项式f中指定变量var的系数,将结果赋给数组coef' i6 j. `4 D& t7 @
%f可以是含多变量的多项式$ S: h0 n: C1 I- ^5 L2 E
%var是多项式中指定的变量,可选,默认是x
/ J! M9 v& f4 g8 r. z* K7 U5 g%要用到函数poly_degree()来获得f中指定变量var的最高次幂9 h* l& w$ f3 Z
IF nargin==1: D- Q1 F2 `# g5 t
var=sym('x');% k" g8 l; v0 Z2 j
end% D# I+ @1 |: i# z8 Q1 @1 B
degree=poly_degree(f,var); _5 o2 q! H4 J. V" o6 s: A8 z5 u
temp_f=f;% g5 k8 C, u8 N* a: x" a
coef(degree+1)=subs(temp_f,var,0);
9 G8 U0 A h7 @$ Y! n+ v6 Rfor n=1:degree5 D7 }& @, F6 k/ ^- h3 A
temp_f=simple((temp_f-coef(degree+2-n))/var);
6 |; l! a- N2 T3 A, Ccoef(degree+1-n)=subs(temp_f,var,0);3 O! O1 a' ]# S8 Z
end% f6 ] M, r. R ^; Z- X3 S
end
0 i" [( g8 K& E7 b. T) m举几个例子:8 M0 A4 ]* {6 m# [4 a6 P
复制内容到剪贴板: p7 F$ ]7 u# a8 h$ ~0 f% A
代码:* l5 [- ~% j c4 R2 G9 q
$ a$ ~$ d- G H: ^. e9 B>> syms x y0 ?+ y- E) H7 C7 o
>> f1=x^4+2*x+1;
) t8 q: u2 W/ x>> f2=y^6+5*y^3+3;0 Y1 k% u, h- l; L
>> f3=x^5+2*x^3*y^4+x*y^2+4;9 @& Z, K7 t" Y, o
>> poly_coef(f1)
6 T/ P5 h- r6 e1 |
1 y. B0 u' d# _& {3 Z) D' v) G' V5 D) |ans =
9 z, C; \. ~* |/ p } Z6 B
* c8 k; h6 V+ T; r' `0 Q( i [1, 0, 0, 2, 1]
" `2 z4 W# I6 _4 ?( D: B>> poly_coef(f1,y)
" I4 G6 k, v7 n) i! h
* Z* M. B1 G# h7 |ans =
, g0 |" d% o! X+ H& {; l$ g
$ c+ `0 ^# g9 X {( ~* t) m- a [ 4 ]
& T {9 f( V1 M' t6 v" k [x + 2 x + 1]
/ z0 F. t- b1 x( ~9 Y>> poly_coef(f2)$ X9 Q- a) u) M" L
" d$ n5 r, r9 [- w" _
ans =
0 _. f% J) |1 Y9 O0 L" W' f2 p% h3 Q- [, L$ m
[ 6 3 ]: ?, Q6 ^ D1 G2 ?2 Z+ z! D
[y + 5 y + 3]
' D3 X* H6 G, j) `) Y2 G G>> poly_coef(f2,y)( U6 ^! {3 \9 T7 Q' N
7 }6 J, B, \. c* w
ans =$ E. h# Y9 ^% G* v T# S
: R, Q! B w; u. S7 f( Z- d3 u" q$ L1 ~8 F
[1, 0, 0, 5, 0, 0, 3]
1 l; o/ M: y# j1 V) V>> poly_coef(f3)
3 h$ a' m+ ?& c
( p8 D, q8 R, X: A9 V8 |ans =" {; ~5 {; z, q6 K- c6 H. C
1 q" K1 ^ w- Z5 ]: N1 r [ 4 2 ]
t4 m; W5 q8 [) X0 N4 G) H [1, 0, 2 y , 0, y , 4]
. t$ Y1 c5 q) m>> poly_coef(f3,y)# {8 A+ V v2 h/ }
9 \+ M0 a3 S9 S4 o/ x6 I
ans =. w& X) z- }, @( o
* S/ G7 d5 p* n- p' J [ 3 5 ]
0 X/ L4 \7 R8 p [2 x , 0, x, 0, x + 4] |