实验二 多项式
一、实验目的
掌握关于多项式运算的常用Matlab命令, 通过具体实例加深对多项式理论的理解。 二、多项式的表示.
1. 在Matlab中, 一个多项式通常用其系数组成的行向量(数组)来表示, 有时也用关于x的形式表达式表示.
例:在Matlab中表示多项式 f(x)?8x3?3x?4
>> f=[8 0 3 4] 或者用
>> syms x, fx=8*x^3+3*x+4 % syms x命令是声明x是一个符号 两者之间可以相互转化:
>> fx=poly2sym(f) % 用poly2sym命令将多项式的向量形式转化为形式表达式 f=sym2poly(fx) % 命令sym2poly可将形式表达式转换为向量形式 2. 多项式的展开可使用expand或collect命令 例:展开多项式(x+1)(x-2)(x+3) >> syms x, expand((x+1)*(x-2)*(x+3)) 三、多项式的四则运算
1. 加法 例:计算f(x)?8x3?3x?4, g(x)?8x2?2x?1的和
>> f=[8 0 3 4], g=[0 8 -2 1], s=f+g, poly2sym(s) % 进行加法运算时次数不一样时必须补零使
得向量长度一致,否则加法会出错。
2. 乘法 使用命令conv(f,g) %不需要补零
3. 带余除法 使用命令[q,r]=deconv(f,g)可计算f被g除所得的商q和余式r % 若输入命令q=deconv(f,g) 则得到商q 四、 最高公因式、因式分解
1. 求最高公因式使用命令 gcd(fx,gx)
2. 因式分解使用命令 factor(fx) % 上两个命令中,fx,gx要求为形式表达式 五、多项式的赋值及求根
1. 求多项式f在x=a处的值可用
命令 polyval(f,a) %其中f为向量形式
命令sub(fx,a) %其中fx为形式表达式 2. 求根使用命令roots(f) %其中f为向量形式 solve(fx) %其中f为形式表达式
% solve给出形式解,roots给出数值解
可使用绘图命令plot命令查看f的图像
>> xx=-3:0.01:2; plot(xx, polyval(f,xx)), grid on % grid on表示显示网格 六、练习 1. 设f(x)?x?3x?2x?1,g(x)?x?2x+5 求f(x)+g(x), f(x)g(x)及f(x)被g(x)除所得的商和余式.
2. 求f(x)?x?x?3x?4x?1, g(x)?x?x?x?1的最高公因式和最小公倍式. 3. 求上述f(x)的根, 求f(x)在x=2,3处的值,并用plot命令观察图像及根的分布.
45432124. 分别求x?1, x+4及x+3x?6x?10x?21x?9在实数域上的因式分解.
42243232
相关推荐: