EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:
5 X/ }0 }. v( }: W/ I( h
. S, Z" I4 b4 Z, |单变量:
7 X/ ~2 ^6 ?8 i+ m( o
" W. r( a; F$ I% G' f% @syms x y
8 C. A) m; w" a$ Z d7 z' O" \f1=x^4+2*x+1;
. p8 E8 ^& d; v. Y6 t4 T7 Hf2=y^6+5*y^3+3;
! m3 b$ F6 }" W$ H1 q2 y6 S! Of3=x^5+2*x^3*y^4+x*y^2+4;% Y. W2 a+ i" O9 ^% c* s! ~
c = sym2poly(f1)
) k7 k% z5 O: ]5 `6 }c = B3 B1 Y) P$ e2 x' v
1 0 0 2 1
# m2 n5 m9 `5 G6 c! z8 U/ g2 v>> c = sym2poly(f2)
9 _! V N6 U4 D+ f% @. ? Jc =
! A" i2 c9 s" _6 K1 K, U/ ? 1 0 0 5 0 0 3* s1 P0 o$ E; c/ R- k# h3 W k
# m- _" _" G( O3 f
多变量:
9 R' g4 S. e8 h0 K0 l, I
! W& }; O/ m; j, Xunction coef=poly_coef(f,var)
9 p2 b5 a. `: |% k" F$ \%提取多项式f中指定变量var的系数,将结果赋给数组coef% ~) l9 e3 I7 U+ q! W! {: R" l
%f可以是含多变量的多项式! g% z, v; l7 a
%var是多项式中指定的变量,可选,默认是x! ]7 J* W: }! G L8 c! [6 v" N( c
%要用到函数poly_degree()来获得f中指定变量var的最高次幂
) }) q$ b) \& E8 f' W# G7 ?5 M; o! eIF nargin==1
3 ?6 J( _# D+ g0 |/ Q& l, p7 Xvar=sym('x');7 ~$ y0 _5 S7 u& u8 m
end/ H: Z5 J, }) L: ?/ }
degree=poly_degree(f,var);
9 N M$ }5 N* R) Ltemp_f=f;
* G7 f" l# K5 `- N6 {coef(degree+1)=subs(temp_f,var,0);7 B7 N( r4 \0 J3 [1 c
for n=1:degree
" y( Y* Y# b! e7 J+ Etemp_f=simple((temp_f-coef(degree+2-n))/var);
% X- |# [9 z% `1 h" Pcoef(degree+1-n)=subs(temp_f,var,0);* [) @" |' _$ b9 o% Z# y0 E
end
0 v# ~" E( i" yend
+ ~. n ~' t% w0 {举几个例子:
8 x/ m4 t3 e, U7 u复制内容到剪贴板0 N- x. i" z, i% `4 e" c D' r7 i
代码:. A4 x* H0 p' O6 \! M! [
! R6 t: M/ ^ B$ B! Q/ ]
>> syms x y4 a1 ]) C! J0 d# ?* W
>> f1=x^4+2*x+1;( }# U0 p8 \3 m3 j) M
>> f2=y^6+5*y^3+3;
. v2 @ D$ e" x; u) u! G- @>> f3=x^5+2*x^3*y^4+x*y^2+4;' r' l0 S" b) D
>> poly_coef(f1)
, F. D) Z* ^" v6 f. E: X, J- F. L, }) X9 S c3 y
ans = U5 a/ `( P! ?7 V; w
$ W$ |' x g6 e4 [. ^# t
[1, 0, 0, 2, 1]
) F$ G% T% ]+ T4 c>> poly_coef(f1,y)6 S9 ~9 U8 p/ b" ]( r0 q
' n* S* ^( E2 z6 [$ u9 }5 G4 Y, n* N
ans =% h! j& d" @1 \$ v' K+ L- N. |
& i \+ F- }+ J0 A [ 4 ]% o7 o; ^. F8 h' @/ b
[x + 2 x + 1]
* ?# Y# P6 \5 L3 C5 n. u>> poly_coef(f2)
( u' [" M3 f7 w
2 I2 D, P. k( o) w* lans =
9 {) p$ z9 z; u5 e% d
7 s9 T: e% y' G5 W. t1 ]3 u [ 6 3 ]
* j* X. T: t* T6 j5 [7 Q [y + 5 y + 3]
% f- L9 [- @8 P. I1 h0 ~>> poly_coef(f2,y)( T& E$ b; k" G! H# H
( i5 t8 I# b9 @- p3 L9 qans =
4 |: t& C( j2 X. h5 x2 g+ r1 o# R a( G
[1, 0, 0, 5, 0, 0, 3]
: b4 [+ D( }( Z2 S$ w2 u: D( D>> poly_coef(f3)
/ K) A9 d* F+ I6 k; ~9 j6 q
# g) N- J: J: I; e f- bans =! j' l; A% }! ?+ v1 O" {, e, `$ {! s* y; m
9 s1 z! n% A. f7 P) {8 w
[ 4 2 ]) z1 p8 \" {: \5 q. b
[1, 0, 2 y , 0, y , 4]3 c7 q O8 B% D w) R
>> poly_coef(f3,y)* E4 p% p1 i5 h m+ D% }* T
' ~( G$ M# }! l' @ans =
/ H# R2 V- J( K. Z+ P- I# r0 g, {, l
, n# X# a' q3 t y* r% d6 Y/ A [ 3 5 ]
# w- p$ a6 v1 \) ]" G [2 x , 0, x, 0, x + 4] |