多项式.docx
- 文档编号:10179527
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:13
- 大小:51.14KB
多项式.docx
《多项式.docx》由会员分享,可在线阅读,更多相关《多项式.docx(13页珍藏版)》请在冰豆网上搜索。
多项式
实验二多项式
【实验目的】
1.学习、掌握MATLAB软件有关的命令;
2.掌握多项式的表示;
3.学会进行MATLAB中多项式的运算,包括加、减、乘、除;在某点的值;求根,判断重根;求导;求商、余式;求最大公因式、最小公倍式。
【实验准备】
1.向量或数组的表达
向量输入格式:
变量名=[向量数据]
输入向量方法:
用键盘上方括号“[]”代替向量括号。
向量数据在方括号内按行输入,相邻元素用空格(或逗号)隔开。
2.多项式的表达
(1)多项式的向量表达
i)形如
的多项式,可以用向量来表示:
例如:
就
可以表示为P=[10-23-4]。
ii)已知多项式的根为
,则该多项式为:
poly(A)
(2)多项式的形式表达
i)直接以符号的形式输出多项式,例如:
>>f1=sym('x^4-2*x^2+3*x-4')
f1=
x^4-2*x^2+3*x-4
ii)定义符号变量,再输出多项式的表达式,例如:
>>symsx
>>f1=x^4-2*x^2+3*x-4
f1=
x^4-2*x^2+3*x-4
iii)已知多项式的向量表达形式,则多项式为:
poly2str(A,’x’),例如:
>>A=[10-23-4];%多项式的向量表达式
>>f1=poly2str(A,'x')%多项式的形式表达式
f1=
x^4-2x^2+3x-4
3.多项式的运算
(1)向量表达的多项式运算
在进行加法与减法运算时,参加运算的多项式必须具有相同的阶数,如果阶数不同,则低阶的多项式必须补零。
例如:
>>a=[102];b=[12350];%两个多项式
>>f1=poly2str(a,'x')
f1=
x^2+2
>>f2=poly2str(b,'x')
f2=
x^4+2x^3+3x^2+5x
>>c=[00a]+b%求和
c=
12452
>>poly2str(c,'x')
ans=
x^4+2x^3+4x^2+5x+2
>>d=[00,a]-b%求差
d=
-1-2-2-52
>>poly2str(d,'x')
ans=
-1x^4-2x^3-2x^2-5x+2
多项式乘法:
conv(x,y)多项式x与y的乘积。
例如:
>>e=conv(a,b)%求积
e=
12596100
>>poly2str(e,'x')
ans=
x^6+2x^5+5x^4+9x^3+6x^2+10x
多项式带余除法:
[q,r]=deconv(x,y)多项式y被x除,q是商式,r是余式。
例如:
>>[q,r]=deconv(b,a)%带余除法
q=
121
r=
0001-2
>>q=poly2str(q,'x')%商式
q=
x^2+2x+1
>>r=poly2str(r,'x')%余式
r=
x-2
多项式的根:
roots(x)。
例如matlab代码:
>>roots(a)%求多项式的根
运算结果为:
ans=
0+1.4142i
0-1.4142i
多项式的值:
polyval(f,x)f(x)的值。
例如:
>>polyval(a,-3)%计算f1(-3)
ans=
11
多项式函数求导运算:
polyder(x)多项式x的导函数。
例如:
>>g=polyder(a)%求多项式f1的导函数
g=
20
>>poly2str(g,'x')
ans=
2x
(2)符号形式的多项式运算
多项式的加法,减法,乘法,除法。
例如:
>>clear
>>symsx
>>f1=x^2-1;f2=x^3+x^2-2;%输出多项式f1与f2
>>f1+f2%求和
ans=
2*x^2-3+x^3
>>f2-f1%求差
ans=
x^3-1
>>f1*f2%求积
ans=
(x^2-1)*(x^3+x^2-2)
>>f1/f2%求商
ans=
(x^2-1)/(x^3+x^2-2)
多项式的幂:
x^p或power(x,p)其中x是多项式,p是正整数。
多项式展开:
expand(x)展开多项式x。
多项式因式分解:
factor(x)在有理数域上因式分解开多项式x。
例如:
>>f3=f1^3%多项式f1的三次方
f3=
(x^2-1)^3
>>f4=power(f1,3)%多项式f1的三次方
f4=
(x^2-1)^3
>>expand(f3)%展开多项式f3
ans=
x^6-3*x^4+3*x^2-1
>>f5=factor(f2)%将多项式f2因式分解
f5=
(x-1)*(x^2+2*x+2)
最大公因式:
gcd(x,y)x与y的最大公因式。
[g,c,d]=gcd(x,y)其中g=cx+dy.
最小公倍式:
lcm(x,y)x与y的最小公倍式。
例如:
>>gcd(f1,f2)%求多项式f1与f2的最大公因式
ans=
x-1
>>[g,c,d]=gcd(f1,f2)%最大公因式的组合
g=
x-1
c=
-1-x
d=
1
>>lcm(f1,f2)%求多项式f1与f2的最小公倍式
ans=
(x+1)*(x^3+x^2-2)
多项式的根:
solve(x)例如:
>>solve(f2)%求多项式f2的根
ans=
1
-1+i
-1-i
多项式函数求导运算:
diff(x)多项式x的导函数。
例如:
>>g=diff(f2)%求多项式f2的导函数
g=
3*x^2+2*x
表2-1多项式函数的一些相关命令
conv(a,b)
乘法
x^p
多项式幂运算
[q,r]=deconv(a,b)
带余除法
power(x,p)
多项式幂运算
poly(r)
用根构造多项式
expand(x)
多项式展开
poly2str(f,'x')
多项式符号表达式
factor(x)
多项式因式分解
polyder(x)
多项式求导
roots(x)
求多项式的根
diff(x)
符号多项式求导
solve(x)
求符号多项式的根
polyval(f,x)
计算f(x)的值
gcd(x,y)
求最大公因式
lcm(x,y)
求最小公倍式
[g,c,d]=gcd(x,y)
求最大公因式的组合
【实验内容】
例2-1:
已知多项式
,计算
.
解一:
相应的matlab代码及运算结果如下:
>>clear
>>a=[305];b=[10-1-1];
>>f=poly2str(a,'x'),g=poly2str(b,'x')
f=
3x^2+5
g=
x^3-1x-1
>>c=[0,a]+2*b;%f+2g
>>fplus2g=poly2str(c,'x')
fplus2g=
2x^3+3x^2-2x+3
>>d=conv(a,b)%fg
d=
302-3-5-5
>>fg=poly2str(d,'x')
fg=
3x^5+2x^3-3x^2-5x–5
>>f3=conv(a,conv(a,a))%f^3
f3=
10601208
解二:
相应的matlab代码及运算结果如下:
>>clear
>>symsx
>>f=3*x^2+5,g=x^3-x-1
f=
3*x^2+5
g=
x^3-x-1
>>fplus2g=f+2*g%f+2g
fplus2g=
3*x^2+3+2*x^3-2*x
>>fg=expand(f*g)%fg
fg=
3*x^5+2*x^3-3*x^2-5*x-5
>>f3=expand(f^3)%f^3
f3=
27*x^6+135*x^4+225*x^2+125
>>power(f,3)%f^3
ans=
(3*x^2+5)^3
例2-2:
用
除
,求商
与余式
,其中
.
相应的matlab代码及运算结果如下:
>>clear
>>a=[100-25];b=[1-12];
>>f=poly2str(a,'x'),g=poly2str(b,'x')%多项式f(x),g(x)
f=
x^4-2x+5
g=
x^2-1x+2
>>[Q,R]=deconv(a,b)%f(x)除g(x)
Q=
11-1
R=
000-57
>>q=poly2str(Q,'x')%商式
q=
x^2+x-1
>>r=poly2str(R,'x')%余式
r=
-5x+7
例2-3:
设
,求
使得
.
相应的matlab代码及运算结果如下:
>>formatrat%数据以有理数的形式输出
>>clear
>>f=sym('4*x^4-2*x^3-16*x^2+5*x+9'),g=sym('2*x^3-x^2-5*x+4')%多项式f(x),g(x)
f=
4*x^4-2*x^3-16*x^2+5*x+9
g=
2*x^3-x^2-5*x+4
>>[d,u,v]=gcd(f,g)%求f(x),g(x)的最大公因式及组合
d=
x-1
u=
1/3-1/3*x
v=
-1+2/3*x^2-2/3*x
%所以
例2-4:
求多项式
的根,并在有理数域上进行因式分解.
解一:
相应的matlab代码及运算结果如下:
>>format
>>clear
>>a=[1-57-24-8];%多项式f的向量表达式
>>f=poly2str(a,'x')%多项式f的符号表达式
f=
x^5-5x^4+7x^3-2x^2+4x-8
>>roots(a)%f的全部根
ans=
2.0000+0.0000i
2.0000-0.0000i
2.0000
-0.5000+0.8660i
-0.5000-0.8660i
解二:
相应的matlab代码及运算结果如下:
>>clear
>>formatrat
>>symsx
>>f=x^5-5*x^4+7*x^3-2*x^2+4*x-8
f=
x^5-5*x^4+7*x^3-2*x^2+4*x-8
>>solve(f)%求f的全部根
ans=
-1/2+1/2*i*3^(1/2)
-1/2-1/2*i*3^(1/2)
2
2
2
>>factor(f)%对f进行因式分解
ans=
(x^2+1+x)*(x-2)^3
例2-5:
已知-1,-1,1-2i是四次多项式
的根,求
.
相应的matlab代码及运算结果如下:
>>clear
>>a=[-1,-1,1-2i,1+2i];%四次多项式f(x)有四个根,其中一对共轭复根
>>b=poly(a);
>>f=poly2str(b,'x')%由根生成的多项式f
f=
x^4+2x^2+8x+5
例2-6:
判断-1是否为多项式
的根,若是,再判断是否为重根.
相应的matlab代码及运算结果如下:
>>clear
>>a=[10-68-3];%多项式f的向量表达式
>>f=poly2str(a,'x')
f=
x^4-6x^2+8x-3
>>polyval(a,1)%求f
(1)
ans=
0
%因为f
(1)=0,所以1是f(x)的根,下面判断是否为重根
>>b=polyder(a);%多项式f的导函数
>>df=poly2str(b,'x')
df=
4x^3-12x+8
>>polyval(b,1)%判断1是否为f的导函数的根
ans=
0
%因为df
(1)=0,所以1是f(x)的导函数的根,进而为重根.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多项式