EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:2 J N0 o: D+ \- N0 l2 z+ l
) s9 ~: p5 F) @
单变量:1 t9 X, K" G' X( j9 N
- H+ G1 ]# K) D; O
syms x y5 S) L% n+ s8 X$ P2 {
f1=x^4+2*x+1;2 d5 k+ U* \: y" F* B* `
f2=y^6+5*y^3+3;
# n% W& |& G J7 |# Bf3=x^5+2*x^3*y^4+x*y^2+4;1 I5 G0 Z4 q0 b4 ~* B
c = sym2poly(f1)+ p* E6 w/ P1 j: E6 T
c =
* u' y& h+ Q/ Q4 B# h! f* \ 1 0 0 2 1' V; z3 E; b6 D% x* f1 R2 @
>> c = sym2poly(f2), D% s- f( k' F2 M8 ]' H# {
c =' v$ N6 @3 U9 E+ y8 C) R3 M; e
1 0 0 5 0 0 3: R+ H, F( ^& Y1 c" J9 p
' P1 G g& K3 ~9 f' p! A( W多变量:3 C: I( A' n3 X& F6 ~
) m$ u, F7 Z+ V2 `unction coef=poly_coef(f,var)
+ l) c3 C: _ p- F/ z5 v%提取多项式f中指定变量var的系数,将结果赋给数组coef# M0 M: r9 p& s0 e4 M
%f可以是含多变量的多项式
, B& R# p9 Q/ e0 U# u%var是多项式中指定的变量,可选,默认是x
9 F' f. k0 _2 l$ g' T( F+ ~%要用到函数poly_degree()来获得f中指定变量var的最高次幂
) k1 m' U6 f$ X7 Q! n7 H$ fIF nargin==1( z/ N! _& b) P' ^$ Q, V0 F
var=sym('x');
0 g b/ ^# o% _& A$ ~& j, r, iend- l. w% b/ u3 w4 n
degree=poly_degree(f,var);
0 W! q% _) G4 [" b+ ~temp_f=f;! O- G0 {% |' F E+ i- \) ]# V
coef(degree+1)=subs(temp_f,var,0);2 b& ]: T$ V2 o; s
for n=1:degree! {9 `2 d9 n, f8 s8 e' ^
temp_f=simple((temp_f-coef(degree+2-n))/var);
& d. l5 U3 r* V7 \0 @! ocoef(degree+1-n)=subs(temp_f,var,0);) W! J5 ^/ Y$ H+ ?2 q
end1 K; R, S) r! ~. }7 B8 l: x
end
9 }5 c' C5 S3 f! v( ^5 i" f7 N举几个例子:
" R- M: ^. e0 L4 M6 T复制内容到剪贴板
+ E0 y! H% R7 o+ m8 O/ I4 X代码:
* x+ f8 Y( H& _9 G G7 V( l( r- {! ]' f6 B& G4 A
>> syms x y
7 w" Z" m7 ^" Z' e9 S- s" k9 e. j: I>> f1=x^4+2*x+1;
' q* E1 {- H1 h; P>> f2=y^6+5*y^3+3;6 k. Y7 \+ v W
>> f3=x^5+2*x^3*y^4+x*y^2+4;
7 |( x J; L6 f4 R$ e1 R9 e! k% |$ f>> poly_coef(f1)
2 j& x+ b; z' G( S
9 A8 ?+ ]% m0 w( kans =. l) k3 d- L: _
5 q+ P5 D( h. g# R+ i$ F5 d# L [1, 0, 0, 2, 1]
: r0 D' l* N0 @4 b8 I% `" |>> poly_coef(f1,y)9 X+ X5 Q/ A# Q& u$ b8 R q& {; K) z
7 z( q! ]- e( m# t& Z; [( sans =
3 ?% ~% z+ X' r* ~* r" V! e1 E% e& t: ]
[ 4 ]7 v: y/ }3 N I4 D0 [
[x + 2 x + 1]
; i2 ~3 ~0 S8 u, @+ r( }0 H. j>> poly_coef(f2)
- o q- B/ S* d5 S" S
) b# L) P. `6 S6 Y; v1 \ans =
) \3 [4 Y( d; r' \7 @. y8 L8 W7 ]% p7 U9 j
[ 6 3 ]
, Q* ~9 e) p: d! y, U& K# Y [y + 5 y + 3]
' r% p8 L: b; h4 Y& h>> poly_coef(f2,y)
: Z3 v! }5 A6 d3 @, `' o
( b# t& }6 m8 q$ D aans =6 d9 }& l+ F. B# |. ]
) ~) D. I3 r$ M" A
[1, 0, 0, 5, 0, 0, 3]8 C, a' G0 X1 v' Z8 P8 X1 J
>> poly_coef(f3)
2 V, b- B) x; Z
$ S3 Z* T4 l3 K% vans =0 n- _" {+ v9 i% o0 @) y
+ c+ m; h, k; R% Q# N# b1 F' q# K [ 4 2 ]
$ S" I5 R8 ]: [4 p% u3 B [1, 0, 2 y , 0, y , 4]$ ], c9 r! p4 X2 \' b
>> poly_coef(f3,y)
. V5 Z1 {- ]8 K6 l+ ~2 u* [. t
ans =, A2 U# y' R( R; e5 B
1 J4 B* s4 k6 o* T: j# b [ 3 5 ]% } i, i% Q* y0 X4 ^
[2 x , 0, x, 0, x + 4] |