第五讲 Matlab的多项式
matlab符号运算 多项式
matlab符号运算多项式
【提纲】
1.MATLAB符号运算简介
MATLAB是一款功能强大的数学软件,其中符号运算功能允许用户进行高级数学计算、分析和可视化。符号运算可以帮助工程师、科学家和数学家在各种领域解决问题,如线性代数、微积分、概率论等。
2.多项式基本概念与MATLAB表示
多项式是数学中一个重要的概念,它表示为一个无穷级数,其中包含常数、变量及其幂次。在MATLAB中,多项式可以用符号表达式表示,如:f(x) = 2x^3 + 4x^2 - 3x + 1。
3.多项式运算实例
以下是几个MATLAB中进行多项式运算的实例:
- 多项式加法:将两个多项式相加,如f(x) + g(x)。
- 多项式减法:将两个多项式相减,如f(x) - g(x)。
- 多项式乘法:将两个多项式相乘,如f(x) * g(x)。
- 多项式除法:将一个多项式除以另一个多项式,如f(x) / g(x)。
- 多项式求导:对一个多项式求导,如diff(f(x))。
- 多项式积分:对一个多项式进行积分,如int(f(x))。
4.多项式函数与应用
MATLAB提供了许多与多项式相关的函数,如:
- polyfit:根据一组数据拟合多项式。
- polyval:根据多项式系数计算多项式的值。
- roots:求多项式的根。
- legendre:勒让德多项式。
- laguerre:拉格朗日多项式。
这些函数在信号处理、控制系统、优化等领域具有广泛的应用。
5.总结与建议
MATLAB的符号运算功能为多项式计算提供了便捷的工具和函数。掌握这些功能和函数可以帮助用户在各种应用场景中解决问题。
matlab多项式运算
在MATLAB中进行多项式运算,可以采用以下方法:
1. 表示多项式:
在MATLAB中,多项式可以用一个向量表示,向量的元素是多项式的系数,按照降幂排列。例如,2次多项式2x^2 + 1可以表示为[2 0 1]。
2. 多项式乘法:
使用`conv`函数可以进行多项式乘法。例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的乘积:
```matlab
p = conv(p1, p2);
```
这会返回一个新的向量,它是p1和p2的卷积。
3. 多项式除法:
使用`deconv`函数可以进行多项式除法,它返回商式和余式。例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的商式和余式:
```matlab
[q, r] = deconv(p1, p2);
```
其中,q是商式,r是余式。
4. 求多项式的根:
使用`roots`函数可以求多项式的根。例如,对于多项式p=[2 0 1],可以使用以下命令求根:
```matlab
r = roots(p);
```
这会返回一个向量,其中包含了多项式的所有根。
5. 求多项式的值:
使用`polyval`函数可以求多项式在给定点的值。例如,对于多项式p=[2 0 1]和点x=1,可以使用以下命令计算多项式的值:
```matlab
v = polyval(p, 1);
```
这会返回一个标量值v,它是多项式在x=1处的值。如果x是一个向量或矩阵,则`polyval`函数会对矩阵或向量中的每一个值求多项
式的值。
MATLAB教程第5章 MATLAB数据分析
5.4 本章小结
本章介绍对一些基本的数据分析进行了详细的介绍,主要包 括多项式、插值和函数的极限。多项式的操作方法,主要 包括多项式的建立、多项式求值、多项式乘法和除法、多 项式求导、多项式展开和拟合等等。插值函数,主要包括 一维插值、二维插值、样条插值和高维插值等内容。利用 MATLAB进行数据分析非常的灵活,需要读者熟练掌握 。
y=limit(f):当x趋近于0时,该函数对函数f求极限。 y=limit(f, x, a)或y=limit(f, a):当x趋近于常数a时,对函数f
求极限。 y=limit(f, x, a, 'left'):当x从左侧趋近于常数a时,对函数f
求极限,返回值为求得的左极限。 y=limit(f, x, a, ‘right’):当x从右侧趋近于常数a时,对函数
5.2.3 样条插值
在MATLAB中,三次样条插值可以采用函数spline( ),该函 数的调用格式为:
yi=spline(x, y, xi):通过初始数据产生插值函数,然后对数 据xi进行插值,返回值yi=f(xi)。采用这种调用方式时, 其相当于yi=interp1(x, y, xi, 'spline')。
1.一维多项式插值 在MATLAB中,一维多项式插值采用函数interp1( )进行实
现。 2.一维快速傅里叶插值 在MATLAB中,一维快速傅里叶插值通过函数interpft( )来
中国科学院大学_张敏洪_matlab知识点整理_第五章 多项式插值与数据拟合
第五章多项式插值与数据拟合
——5.1 关于多项式MATLAB命令—2
Roots: 多项式的零点可用命令roots求的—3
Poly: 由零点可得原始多项式的各系数,但可能相差一个常数倍
polyval: 可用命令polyval计算多项式的值
polyfit:给定n+1个点将可以唯一确定一个n阶多项式。利用命令polyfit可容易确定多项式的系数
求多项式积分—7 调用格式:py=poly_itg(p)
Polyder: 求多项式一阶导数的系数。
——命令poly_add:求两个多项式的和,其调用格式为:
c= poly_add(a,b)
多项式a减去b,可表示为:
c= poly_add(a,-b)
m阶多项式与n阶多项式的乘积是d=m+n阶的多项式c=conv(a,b) --10 多项式的除法: [q, r]=deconv(a,b)
——5.2.1 Lagrange插值–13
5.2.3Hermite插值 -13
5.2.3 Runge现象--19
5.2.4 分段插值命令1interp1---21
命令2 interp2 ---29
——meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的。它也可以是更高维的。这里的大小指的是,size()函数的大小,size()函数返回的是一个向量,那么size(A) = size(B).
——总的来说,figure 的使用语法包括:
figure
figure('PropertyName',propertyvalue,...)
figure(h)
h = figure(...)
Matlab的应用-多项式函数及多项式拟合
Matlab的应用-多项式函数及多项式拟合
本节将向大家简要介绍matlab 在多项式处理方面的应用。
多项式函数主要有:
下面我们将介绍这些函数的用法:
1,roots---求多项式的根
格式:roots(c)
说明:它表示计算一个多项式的根,此多项式系数是向量c的元素.如果c有n+1个元素,那么此多项式为:
c(1)*x^n+c(2)*x^(n-1)+c(3)*x^(n-2)+--+c(n)*x+c(n+1)
2,poly---特征多项式
格式:poly(a)
说明:(1)如果a是一个n阶矩阵,poly(a)是一个有n+1个元素的行向量,这n+1个元素是特征多项式的系数(降幂排列).
(2)如果a是一个n维向量,则poly(a)是多项式(x-a(1))*(x-a(2))*..(x-a(n)),即该多项式以向量a的元素为根。
3,polyval—多项式计算
格式:polyval(v,s)
说明:
如果v是一个向量,它的元素是一个多项式的系数,那麽polyval(v,s)是多项式在s 处的值.
如果s是一个矩阵或是一个向量,则多项式在s中所有元素上求值
例如:
v=[1 2 3 4];vv=poly2str(v,’s’)
(即v=s^3+2*s^2+3*s+4)
s=2;
x=polyval(v,s)
x =
26
例如:
v=[1 2 3 4];
s=[2 4];
polyval(v,s)
ans=26 112
4,conv-多项式乘法
例:as=[1 2 3]
as =
1 2 3
>> az=[2 4 2 1]
az =
2 4 2 1
第5讲MATLAB多项式及插值
第5讲MATLAB多项式及插值
例
>> x0=-1+2*[0:10]/10; >> y0=1./(1+25*x0.^2); >> x=-1:.01:1; >> y=lagrange(x0,y0,x); % Lagrange 插值 >> ya=1./(1+25*x.^2); >> plot(x,ya,x,y,':')
第5讲MATLAB多项式及插值
第5讲MATLAB多项式及插值
5.2 多项式运算
1、多项式表示 一个多项式的幂级数形式可表示为:
y c 1 x n c 2 x n 1 c n x c n 1
同时也可表为嵌套形式
y (( ( c 1 x c 2 ) x c 3 ) x c n ) x c n 1
第5讲MATLAB多项式及插值
例5-5 别求4元素向量x的平均值和中值。
第5讲MATLAB多项式及插值
MATLAB多项式
9 多项式的表达式及其操作
9.1 多项式的表达式和创建
1.多项式的表达式
MATLAB用一个行向量来表示多项式,此行向量就是将幂指数降序排列之后多项式各项的系数。例如,考虑下面的表达式:
这就是Wallis在他第一次在法国科学院提出牛顿法的时候所用的多项式。在MATLAB中,该多项式可以用以下命令来输入:
>> p = [1 0 -2 -5];
这个表达式的含义就是的系数为1,的系数为0(原公式中无此项,需补足为0),的系数为-2,常数项为-5。
2.多项式行向量的创建方法
多项式系数向量的直接输入法就是按照多项式表达式的约定,把多项式的各项系数一次排放在行向量的元素位置上。
正如前面所提到的:多项式的系数要以降幂顺序排列,假如多项式中缺少了某一幂次,那么就认为该幂次的系数为零。
利用命令P=poly(A)生成多项式系数向量。若A是方阵,多项式P就是该方阵的特征多项式。若A是一个向量, A的元素就被认为是多项式P的根。
【例2-36】求 3 阶方阵A 的特征多项式。
>>A=[11 12 13;14 15 16;17 18 19];
>>PA=poly(A) % A的特征多项式
>>PPA=poly2str(PA,'s') % 以较为习惯的方式显示多项式PA =
1.0000 -45.0000 -18.0000 0.0000
PPA =
s^3 - 45 s^2 - 18 s +1.6206e-014
【例2-37】由给定根向量求多项式系数向量。
>> R=[-0.5,-0.3+0.4*i,-0.3-0.4*i]; % 根向量
MATLAB多项式运算
MATLAB多项式运算
none
1. 多项式的表⽰
在Matlab中,多项式⽤⼀个⾏向量表⽰, ⾏向量的元素值为多项式系数按幂次的降序排列, 如p(x)=x3-2x-5⽤P=[1,0,-2,-5]表⽰.
2. 多项式相关的函数和运算
(1) 多项式加减: 两个多项式之间的加减是对应幂次的系数进⾏加减, 可以直接⽤系数向量的加减法来得出.
(2) 多项式乘法: 两个多项式的乘法⽤卷积函数conv来实现, 如计算多项式p1(x)=x3-2x-5和p2(x)=2x2+3x+1的积可利⽤如下代码:
p1=[1,0,-2,-5];
p2=[2,3,1];
conv(p1,p2)
(3) 多项式除法: deconv. 对于任意两个多项式p1, p2, deconv(p1,p2)的值为两个⾏向量, 即[q,r]=deconv(p1,p2), 其中q是p1除以p2的商, r是余, 它们满⾜p1=conv(p2,q)+r.
(4) 多项式的根: roots. 对于任意多项式p(x), 假设p是它的系数向量, 那么roots(p)的值是⼀个列向量, 列向量的每个元素都是p(x)=0的根.
(5) 矩阵的特征多项式或由根求多项式: poly. 对于⽅阵A, poly(A)返回A的特征多项式对应的系数⾏向量(特征多项式的根为矩阵的特征值). 对于⾏向量r, poly(r)返回⼀个以r的所有元素为根的多项式的系数向量.
(6) 对多项式求导: polyder. 对于任意多项式p(x), 假设p是它的系数向量, 那么polyder(p)的值是⼀个⾏向量, 这个⾏向量是p'(x)=dp(x)/dx的系数向量.
matlab 符号运算 特征多项式
文章标题:深度解析MATLAB符号运算中的特征多项式
1. 引言
MATLAB是一款功能强大的数学软件,其符号运算功能可以帮助我们进行高效的代数运算。特征多项式作为代数中的重要概念,在MATLAB中也有着重要的应用。本文将深入探讨MATLAB符号运算中的特征多项式,以帮助读者更好地理解这一概念。
2. 特征多项式的基本概念
特征多项式可以用于描述一个矩阵的特征值,是一个和矩阵相关的多项式。在MATLAB中,我们可以使用符号运算来计算特征多项式,从而得到矩阵的特征值。特征多项式的计算过程涉及到矩阵的代数运算和特征值的求解,需要结合符号运算的功能进行处理。
3. MATLAB中的符号运算
MATLAB提供了丰富的符号运算功能,可以进行符号变量的定义、代数运算和方程求解等操作。通过符号运算,我们可以将代数运算的过程表达为符号形式,而不需要具体数值的输入。这为我们进行特征多项式的计算提供了便利,可以更加直观地展示代数运算的过程。
4. 特征多项式的计算
在MATLAB中,通过定义符号变量和建立矩阵,我们可以使用符号运算来计算特征多项式。通过调用MATLAB中的特征值求解函数,我们
可以得到矩阵的特征值,从而进一步求解特征多项式。这个过程需要利用MATLAB中的矩阵运算和符号运算相结合,以实现特征多项式的精确计算。
5. 个人观点和理解
在使用MATLAB进行符号运算和特征多项式的计算过程中,我深刻体会到其便利性和高效性。符号运算不仅提供了代数运算的便捷方式,还可以帮助我们更深入地理解代数运算的概念和过程。特征多项式作为代数中的重要概念,在MATLAB中得到了很好的体现,通过符号运算和矩阵运算相结合,我们可以更加灵活和高效地进行特征多项式的计算和求解。
matlab 本原多项式
matlab 本原多项式
(原创版)
目录
1.介绍 MATLAB 本原多项式
2.MATLAB 本原多项式的应用
3.如何在 MATLAB 中使用本原多项式
4.总结
正文
一、介绍 MATLAB 本原多项式
MATLAB 本原多项式是 MATLAB 语言中的一种数据类型,它可以用来表示一系列的数字。本原多项式在 MATLAB 中有着广泛的应用,例如在信号处理、图像处理、控制系统等领域都有重要的应用。
二、MATLAB 本原多项式的应用
MATLAB 本原多项式可以被用来表示数字信号,这是它最主要的应用之一。在信号处理中,常常需要对信号进行滤波,而 MATLAB 本原多项式就是一个很好的工具来实现滤波。另外,本原多项式还可以用来进行图像处理,例如图像的压缩和增强等。在控制系统中,本原多项式可以用来设计控制系统的控制器,以实现对系统的控制。
三、如何在 MATLAB 中使用本原多项式
在 MATLAB 中,可以使用 poly 函数来创建本原多项式。例如,要创建一个阶数为 3 的本原多项式,可以这样输入:`p = poly(3);`。在这个例子中,`p`就是一个包含 3 个项的本原多项式。
MATLAB 还提供了许多函数来对本原多项式进行操作。例如,可以使用`polyval`函数来计算本原多项式在某一点的值,使用`polycoef`函数来获取本原多项式的系数,使用`polydifferential`函数来计算本原多项
式的微分等。
四、总结
MATLAB 本原多项式是 MATLAB 语言中的一种重要数据类型,它在信号处理、图像处理、控制系统等领域有着广泛的应用。
第05讲 MATLAB的数值运算(2)
表1-8 关系运算符
关系操作符 < <= > 意义 小于 小于等于 大于 关系操作符 >= == ~= 意义 大于等于 等于 不等于
9
函数find( 在关系运算中很有用, 函数 find( ) 在关系运算中很有用 , 它可以在 矩阵中找出一些满足一定关系的数据元素。 矩阵中找出一些满足一定关系的数据元素。例如 >>A=1:9; B=A>4 B= 0 0 0 0 1 1 1 1 1 >>C=A(A>4) C= 5 6 7 8 9 find 或 >>C=find(A>4) 功能:查找非零元素的值。 功能:查找非零元素的值。 C= 格式: 格式:k=find(X) 5 6 7 8 9
(2) 多项式的乘法
在MATLAB中,多项式的乘法运算,利用函数 中 多项式的乘法运算, conv( )来实现,函数 来实现, 来实现 函数conv( )相等于执行两个数组的 相等于执行两个数组的 卷积,其调用格式为 卷积, p=conv(p1,p2) 上例中: 上例中: >>p1=[1 5 0 3 2];p2=[1 6 5];p=conv(p1,p2) p= 1 11 35 28 20 27 10
11
非是一元操作符, 非零时, 返回的信息 非是一元操作符,当A非零时,~A返回的信息 非零时 为零时, 返回信息为1 因而就有: 为 0 , 当 A为零时 , ~ A返回信息为 1 。 因而就有 : 为零时 返回信息为 P|(~ P)返回值为1,P&(~ P)返回值为0。例 |(~ )返回值为1 & )返回值为0 >>A= =~(A> >> =1:9;C=~( >4) =~( C= 1 1 1 1 0 0 0 0 0 >>C=(A>4)&(A<7) C= 0 0 0 0 1 1 0 0 0
matlab多项式运算和方程组的求解
二、多项式
(1)多项式的表达式和创建
MATLAB中使用一维向量来表示多项式,将多项式的系数按照降幂次序存放在向量中。
例如:多项式2X4+3X3+5X2+1可以用向量[2 3 5 0 1]来表示。
例2-1,输入多项式3x4-10x3+15x+1000
在命令窗口输入:
p=[3 -10 0 15 1000]
输出结果如下:
(2)多项式求根
1、多项式的根
找出多项式的根,即使多项式为零的值,MATLAB提供了特定的函数roots求解多项式的根。
例2-2,求解多项式3x4-10x3+15x+1000的根。
在命令窗口输入:
输出的结果如下:
2、由根创建多项式
在MATLAB中,无论是一个多项式,还是它的根,都是以向量形式存储的,按照惯例,多项式是行向量,根是列向量。因此当我们给出一个多项式时,MATLAB 也可以构造出相应的多项式,这个过程需要使用函数poly。
例2-3
输入及结果
(3)多项式四则运算
1,多项式的加法
MATLAB并未提供一个特别的函数,如果两个多项式向量大小相同,那么多项
式相加时就和标准的数组加法相同。
例2-4
在命令窗口输入:
a=[1 3 5 7 9];b=[1 2 4 6 8];
c=a+b
输出结果:
C(x)=2x4+5x3+9x2+13x+17
2、多项式的乘法运算
在MATLAB中,函数conv支持多项式乘法(运算法则为执行两个数组的卷积)。例2-5
在命令窗口输入:
a=[1 3 5 7 9]; b=[1 2 4 6 8];
c=conv(a,b)
输出的结果如下:
C(x)=x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72
Matlab中的多项式拟合方法及应用
Matlab中的多项式拟合方法及应用
MATLAB是一种强大的数学软件工具,被广泛用于科学研究和工程应用中。
在MATLAB中,多项式拟合是一种常见的数据拟合方法,可用于处理实验数据、
信号处理和图像处理等领域。本文将介绍MATLAB中的多项式拟合方法,并探讨
其在各个应用领域中的具体应用。
一、多项式拟合方法的基本原理
多项式拟合是将一组实验数据拟合成一个多项式函数的过程。多项式函数由若
干个幂函数组成,形如:
\[ f(x) = a_0 + a_1x + a_2x^2 + \ldots + a_nx^n \]
其中,\(x \)是自变量,\(a_0, a_1, \ldots, a_n \)是待确定的系数。多项式拟合的
目标是找到最佳的系数,使得多项式函数在给定数据点上尽可能地接近实际观测值。
多项式拟合方法的关键是确定多项式的阶数,即确定多项式中幂函数的最高次数。如果阶数过高,多项式函数可能会过度拟合实验数据,导致对噪声的过度敏感。相反,如果阶数过低,可能会导致无法充分拟合实际曲线。因此,选择适当的多项式阶数至关重要。
二、MATLAB中的多项式拟合函数
在MATLAB中,polyfit()函数是常用的多项式拟合函数。它的基本用法如下:
\[ p = polyfit(x, y, n) \]
其中,\(x \)是自变量的数据点向量,\(y \)是对应的观测值向量,\(n \)是多项式
的阶数。polyfit()函数返回多项式系数向量\(p \),其中\(p(1) \)对应于\(a_n \),\(p(2) \)对应于\(a_{n-1} \),依此类推。
matlab中进行多项式运算的一般步骤
在使用MATLAB进行多项式运算时,一般可以遵循以下几个步骤:
1. 创建多项式
我们需要创建多项式。在MATLAB中,可以使用`poly`函数来创建多项式。如果我们要创建一个多项式3x^3+2x^2-5x+4,可以使用以下命令:
```matlab
p = [3, 2, -5, 4];
```
其中,`p`即为所创建的多项式。通过上述命令,MATLAB会将多项式系数按照从高次到低次的顺序存储在数组`p`中。
2. 求多项式的根
求多项式的根是多项式运算中常见的操作。在MATLAB中,可以使用`roots`函数来求多项式的根。对于上述创建的多项式`p`,可以使用以下命令求其根:
```matlab
r = roots(p);
```
其中,`r`即为所求得的多项式的根。通过上述命令,MATLAB会返回多项式的根,并存储在数组`r`中。
3. 多项式求导
多项式求导是指对多项式进行微分操作。在MATLAB中,可以使用`polyder`函数来对多项式进行求导。对于上述创建的多项式`p`,可以使用以下命令对其进行求导:
```matlab
dp = polyder(p);
```
其中,`dp`即为所求得的多项式的导数。通过上述命令,MATLAB会返回多项式的导数,并存储在数组`dp`中。
4. 多项式积分
多项式积分是指对多项式进行积分操作。在MATLAB中,可以使用`polyint`函数来对多项式进行积分。对于上述创建的多项式`p`,可以使用以下命令对其进行积分:
```matlab
P = polyint(p);
```
其中,`P`即为所求得的多项式的积分。通过上述命令,MATLAB会返回多项式的积分,并存储在数组`P`中。
matlab计算多项式
matlab计算多项式
Matlab是一款强大的数学计算软件,可以用于解决各种数学问题,包括多项式计算。在Matlab中,我们可以使用多种方法计算多项式,如使用多项式函数、向量运算、循环和递归等。
一种常用的方法是使用多项式函数,Matlab中有多种多项式函数可供使用,例如polyval函数可以计算多项式函数在给定点的值。使用polyfit函数可以拟合多项式函数,并返回多项式系数的向量。同时,还可以使用polyder函数求解多项式的导数,使用polyint函数求解多项式的积分。
除了使用多项式函数,我们还可以使用向量运算计算多项式。例如,我们可以将多项式的系数存储在一个向量中,然后使用Matlab 中的向量运算函数计算多项式的值。例如,使用dot函数可以计算向量之间的点积,而使用cross函数可以计算向量之间的叉积。
在某些情况下,循环和递归也可以用于计算多项式。例如,我们可以使用for循环计算多项式的值,或使用递归函数计算多项式的系数。这种方法通常需要更多的代码和计算时间,但可以处理更复杂的多项式。
总之,在Matlab中计算多项式有多种方法,我们可以根据问题的需求选择适合的方法。无论使用哪种方法,我们都可以利用Matlab 强大的计算能力轻松地计算多项式,并解决各种数学问题。
- 1 -
matlab 多项式加减
matlab 多项式加减
Matlab是一种非常强大的数学软件,可以用来进行多项式加减等各种数学运算。在Matlab中,多项式可以表示为向量,每个元素代表多项式中的一个系数。下面我们来介绍一下如何使用Matlab进行多项式加减。
首先,我们需要定义两个多项式。假设我们要计算多项式
P(x)=2x^3+3x^2+4x+5和Q(x)=x^2+2x+1的和差,我们可以使用以下代码:
```
P = [2 3 4 5]; % 定义多项式P
Q = [1 2 1 0]; % 定义多项式Q
S = P + Q; % 计算和
D = P - Q; % 计算差
```
在上面的代码中,我们首先定义了两个多项式P和Q,分别表示为向量[2 3 4 5]和[1 2 1 0]。这里的向量中,每个元素代表多项式中的一个系数,例如向量[2 3 4 5]表示的多项式为2x^3+3x^2+4x+5。
然后,我们使用Matlab中的加号和减号运算符来计算多项式的和差。在上面的代码中,我们使用了加号运算符计算多项式P和Q的和,并将结果保存在向量S中;使用了减号运算符计算多项式P和Q的差,并将结果保存在向量D中。
最后,我们可以使用Matlab中的disp函数来输出计算结果。例如,
我们可以使用以下代码来输出多项式P和Q的和差:
```
disp(['P + Q = ', num2str(S)]); % 输出和
disp(['P - Q = ', num2str(D)]); % 输出差
```
在上面的代码中,我们使用了Matlab中的disp函数来输出计算结果。其中,num2str函数用于将向量转换为字符串,以便输出;字符串之
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
gjy_just@yahoo.com.cn
7-2 多项式的运算
7-2.1 多项式的四则运算 1.多项式的加减运算 2.多项式乘法运算 函数conv(P1,P2)用于求多项式P1和P2的乘积。这里 P1、P2是两个多项式系数向量。 例: 求多项式x4+8x3-10与多项式2x2-x+3的乘积。
gjy_just@yahoo.com.cn
1
2
gjy_just@yahoo.com.cn
若已知多项式的全部根, 则可以用POLY函数建立起该多项式; 也可以用POLY函数求矩阵的特征多项式。POLY函数是一个MAT LAB程序,调用它的命令格式是: A=poly(x)
若x为具有N个元素的向量,则poly(x)建立以x为其根的多项式, 且将该多项式的系数赋值给向量A。在此种情况下,POLY与RO OTS互为逆函数;若x为N×N的矩阵x,则poly(x)返回一个向量 赋值给A,该向量的元素为矩阵x的特征多项式之系数: A(1),A(2),…,A(N),A(N+1)。
3.多项式除法 函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作 除法运算。其中Q返回多项式P1除以P2的商式,r 返回P1除以P2的余式。这里,Q和r仍是多项式系 数向量。 deconv是conv的逆函数,即有P1=conv(P2,Q)+r。
例: 求多项式x4+8x3-10除以多项式2x2-x+3的结果
gjy_just@yahoo.com.cn
>> A=[3 1 4 1; 5 9 2 6; 5 3 5 8; 9 7 9 3] A= 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 >> p=poly(A) p= 1.0000 -20.0000 -16.0000 480.00 00 98.0000
第五讲 多项式
1、多项式的创建 2、多项式的运算
利用处理多项式的函数可以很方便求解多项式的根,并能 很容易对多项式进行四则运算、积分和微分运算
江苏科技大学数理学院
7-1 多项式的创建
对于多项式
P a 0 x a1 x
n
n 1
a2 x
n2
a n 1 x a 0
例6-20 仍以多项式x4+8x3-10为例,取一个2×2矩阵 为自变量分别用polyval和polyvalm计算该多项式的值。
gjy_just@yahoo.com.cn
7-2.4 多项式求根 n次多项式具有n个根,当然这些根可能是实 根,也可能含有若干对共轭复根。MATLAB 提供的roots函数用于求多项式的全部根,其调 用格式为: x=roots(P) 其中P为多项式的系数向量,求得的根赋给向量x, 即x(1),x(2),…,x(n)分别代表多项式的n个根。
gjy_just@yahoo.com.cn
例: 已知 f(x) (1) 计算f(x)=0 的全部根。 (2) 由方程f(x)=0的根构造一个多项式g(x),并 与f(x)进行对比。 命令如下: P=[3,0,4,-5,-7.2,5]; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多项式g(x)
调试教材程序,熟悉相关函数使用规则,并完成本章习题
gjy_just@yahoo.com.cn
gjy_just@yahoo.com.cn
例: 求有理分式的导数。 命令如下: P=[1]; Q=[1,0,5]; [p,q]=polyder(P,Q)
gjy_just@yahoo.com.cn
7-2.3 多项式的求值 MATLAB提供了两种求多项式值的函数: polyval与polyvalm,它们的输入参数均为 多项式系数向量P和自变量x。两者的区别 在于前者是代数多项式求值,而后者是矩阵 多项式求值。
约定可以用右边向量表示 P [ a 0 , a 1 , a 2 , a n 1 , a n ] 这样多项式问题就转换为向量问题来解决
gjy_just@yahoo.com.cn
多项式的建立
直接法创建多项式:
>> P=[3 5 0 1 0 1 2] P= 3 5 0 1 0 >> y=poly2sym(P) y= 3*x^6+5*x^5+x^3+x+2
gjy_just@yahoo.com.cn
2.矩阵多项式求值 polyvalm函数用来求矩阵多项式的值,其调用 格式与polyval相同,但含义不同。polyvalm函 数要求x为方阵,它以方阵为自变量求多项式的 值。设A为方阵,P代表多项式x3-5x2+8,那么 polyvalm(P,A)的含义是: A*A*A-5*A*A+8*eye(size(A)) 而polyval(P,A)的含义是: A.*A.*A-5*A.*A+8*ones(size(A))
gjy_just@yahoo.cLeabharlann Baidum.cn
例: 求多项式x4+8x3-10的根。 命令如下: A=[1,8,0,0,-10]; x=roots(A)
若已知多项式的全部根,则可以用poly函数建 立起该多项式,其调用格式为: P=poly(x) 若x为具有n个元素的向量,则poly(x)建立以x 为其根的多项式,且将该多项式的系数赋给 向量P。
gjy_just@yahoo.com.cn
7-2.2 多项式的导函数 对多项式求导数的函数是: p=polyder(P):求多项式P的导函数 p=polyder(P,Q):求P/Q的导函数
[p,q]=polyder(P,Q):求P/Q的导函数,导
函数的分子存入p,分母存入q。
上述函数中,参数P,Q是多项式的向量表示, 结果p,q也是多项式的向量表示。
gjy_just@yahoo.com.cn
1.代数多项式求值 polyval函数用来求代数多项式的值,其调用 格式为: Y=polyval(P,x) 若x为一数值,则求多项式在该点的值;若x为 向量或矩阵,则对向量或矩阵中的每个元素 求其多项式的值。
例 已知多项式x4+8x3-10,分别取x=1.2 和一个2×3矩阵为自变量计算该多项式的值。