EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
matlab求多项式的系数:& A" o9 o, X6 w1 D
/ d7 y" U& R# a( X) b6 X单变量:
5 O& z3 w% U: `: J/ ?/ m$ H
4 W" ]# U: ^: [* S: }syms x y
7 l" j4 R" H" t) l8 d- ~3 D2 [f1=x^4+2*x+1;
' a) B) S+ v5 }! A9 A0 Uf2=y^6+5*y^3+3;. H c- C1 a* P, W& [5 w
f3=x^5+2*x^3*y^4+x*y^2+4;" E6 F# o' M" @9 q" I S( @' z1 U
c = sym2poly(f1)* J, Q3 O& h% v+ S6 T) R
c =
( H+ m/ }% E8 l6 m0 k1 l 1 0 0 2 13 k0 }4 A% ^8 N8 L8 v, _
>> c = sym2poly(f2)
/ j$ B" E e* t/ I( C( K4 v; b$ cc =6 G) h% _8 G# ]3 m- }+ |
1 0 0 5 0 0 3
) ]. `: u. P7 I0 L, U3 u4 m* @
多变量:3 J! Q8 q7 M, {3 i) x7 ~
$ \8 t/ M4 Q$ n- L) n1 J% Zunction coef=poly_coef(f,var)! T9 u B0 p6 z# O3 r+ G
%提取多项式f中指定变量var的系数,将结果赋给数组coef( {. ?% o3 c& ^
%f可以是含多变量的多项式
) M* A6 e7 a4 z%var是多项式中指定的变量,可选,默认是x
& u& o9 ]; @2 i' N%要用到函数poly_degree()来获得f中指定变量var的最高次幂( G. ?7 z7 n0 ~& G! e
IF nargin==14 I4 o$ ~) P2 l- g: S
var=sym('x');
1 K7 F n6 ~2 g# W/ aend# y% V3 F( E) Y, R; c# N {
degree=poly_degree(f,var);
: U5 k. \* P# |5 U% t/ Qtemp_f=f;
' P' D$ v+ }- T$ ~, ~coef(degree+1)=subs(temp_f,var,0);+ c8 C; F$ U. ~5 I
for n=1:degree
+ {. b" S6 V1 O( ctemp_f=simple((temp_f-coef(degree+2-n))/var);
7 n" F/ n1 Z2 `coef(degree+1-n)=subs(temp_f,var,0);
]4 k5 \: P* E; N5 x$ I+ _end
: [) p" }. O! vend( E6 k3 R0 H& l0 G# q
举几个例子:7 T8 p+ J6 e# S: j1 d/ G) j/ H( A
复制内容到剪贴板' g/ ` q! r. Z0 k
代码:. V! I1 P7 h- w) d
: b( ]% l0 j( [8 T; c>> syms x y
! Z( Q/ [+ n4 u, G. F$ p>> f1=x^4+2*x+1;# z; t j# n, m7 s/ t
>> f2=y^6+5*y^3+3;, Q- ^6 }! ^& o8 g) w0 [
>> f3=x^5+2*x^3*y^4+x*y^2+4;
, U1 [8 ^& O9 D5 X' [>> poly_coef(f1)
. D- w0 F, {) m: I' P2 l: f) d0 H8 k4 F/ i8 T" _0 V/ r
ans =
. q7 K! ^1 d. J* ^' N j! i6 Q y) j3 k8 F0 P
[1, 0, 0, 2, 1]+ ]7 B6 n2 E) U8 E1 ]' W- b
>> poly_coef(f1,y)5 d9 B; A- W9 @$ x2 E4 U
; _+ a, j0 x7 }2 p7 H/ d# T! k' e
ans =
" ]$ V ?9 v0 h2 g, C/ \4 i7 v, f0 Q: O
[ 4 ]
* V1 X4 A' w% M3 k1 Q$ ?, u [x + 2 x + 1]
3 ?5 g i: X* W2 j9 t% D>> poly_coef(f2)
' C* L" `/ i3 g! d* C: f$ O+ S* e& o7 a8 n; X6 ]1 s. b6 R
ans =3 X, w( V; ^, |3 L, x1 z& s
$ U8 u6 i* S+ ~ e! A0 r
[ 6 3 ]
( q7 ^5 k2 G3 X w* n [y + 5 y + 3]
0 m, O9 r' P! p2 w8 w>> poly_coef(f2,y)
8 ^3 [4 l1 m1 b# i" G+ u& ?9 x, S% @; d9 x& b! }, T
ans =
$ U5 ~+ j) {$ k6 Q# b$ J" D
3 Y% I9 V% L# J0 R" ]. N [1, 0, 0, 5, 0, 0, 3]% c: c y8 ~( u( @6 j
>> poly_coef(f3)2 t' J/ O) v% V% [, I+ g
' Y4 v0 I& Q0 ^) M& Xans =
$ `6 L# a8 U( o
+ ~9 |/ C4 f/ b' }/ e: { [ 4 2 ]
( u5 g# j1 x$ Q6 p. n, {" p+ F [1, 0, 2 y , 0, y , 4]
, x C( n( J# W# K& {. a>> poly_coef(f3,y)
. ?6 F2 D" R9 W7 \' O" I2 h5 ]' Q1 M/ b5 p) F1 @
ans =6 V5 w! A3 ]- V6 A4 v7 I. D- R/ D
' P9 ~' {, ?( Q* ~/ u! [ [ 3 5 ]. q3 e7 z) `! c4 \" l( Q
[2 x , 0, x, 0, x + 4] |