第三章MATLAB数据分析与多项式计算.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
q= 0.5000 4.2500 1.3750 r= 0 0 0 -11.3750 -14.1250
补充: deconv是conv的逆函数,即有P1=conv(P2,Q)+r
3.1.3 多项式的导函数
对多项式求导数的函数是polyder, 它的调用格式:
p=polyder(P) p=polyder(P,Q) [p,q]=polyder(P,Q)
1.插值:指在所给出基准数据,已知数据之间计算估计值过程的
情况下,研究如何平滑的估算出基准数据之间其他点的值
在matlab中一维插值函数interp1,spline,它的 调用格式:
interp1(x,y,xi) interp1(x,y,xi,'linear') interp1(x,y,xi,'cubic') interp1(x,y,xi,'nearest')
第3章 matlab数值运算基础
3.1 3.2 3.3 3.4 3.5 多项式 数据分析 数值插值与曲线拟合 傅立叶变换 线性代数
3.1.1多项式的创建
matlab提供创建多项式的命令函数为来自百度文库poly2sym,他的调用格式:
r = poly2sym(c) r = poly2sym(c, v)
1.系数矢量的直接输入法 Poly2sym([1 3 5 -4]) 2.系数矢量间接输入法 由根矢量创建多项式 r=[3 4 6];p1=poly(r);poly2sym(p,’t’) 矩阵特征多项式输入法 a=[1 3 4;3 2 8;9 8 6];p2=poly(a),poly2sym(p)
f=[3,0,4,-5,-7.2,5];r=roots(f)
p=compan(f);r=eig(p)
p=poly(r),g=poly2sym(p)
r= -0.3046 + 1.6217i -0.3046 - 1.6217i -1.0066 1.0190 0.5967 p= 1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667 g= x^5+3/9007199254740992*x^4+4/3*x^3-5/3*x^2-12/5*x+5/3
3.1.4 多项式的求值
MATLAB提供了两种求多项式值的函数 polyval与polyvalm,他们的调用格式分别 是: polyval(P,x) polyvalm(P,A)
说明:
1. polyval函数用来求代数多项式的值,其中参数p为多项式系数向量, 参数x 为一数值时,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩 阵中的每个元素求其多项式的值。
2. polyvalm函数用来求矩阵多项式的值,其中参数p为多项式系数向量, 参数 A为方阵
3.1.5 多项式求根
MATLAB提供的roots函数用于求多 项式的全部根,其调用格式为:
roots(P)
说明: 参数P为n次多项式系数向量,返回值为包含n个根(实根或共轭 复根)的向量
例3-6 已知 f(x)=3*x^5+4*x^3-5*x^2-36/5*x+5 (1) 计算f(x)=0 的全部根。 (2) 由方程f(x)=0的根构造一个多项式g(x),并与 f(x)进行对比。
P=[1 8 0 0 -10];Q=[2 -1 3]; p1=polyder(P) p2=polyder(P,Q) [p3,q1]=polyder(P,Q)
p1 = 4 24 0 0 p2 = 12 75 -20 72 -40 10 p3 = 4 13 -4 72 40 -10 q1 = 4 -4 13 -6 9
说明: 函数conv(P1,P2)用于求多项式P1和P2的乘积。这里, P1、P2是两个多项式系数向量。
函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法 运算(退卷积)。其中Q返回多项式P1除以P2的商式,r返回P1 除以P2的余式.这里,Q和r仍是多项式系数向量.
例3-1 分别计对多项式x4+8x3-10与多项式2x2-x+3的进行乘法 和除法运算 p1=[1 8 0 0 -10]; p2=[2 -1 3]; p=conv(p1,p2) , %乘法运算 y=poly2sym(p) [q,r]=deconv([p1,p2]) %除法运算 p= 2 15 -5 24 -20 10 -30 y= 2*x^6+15*x^5-5*x^4+24*x^3-20*x^2+10*x-30
说明: 1.求多项式P的导函数,参数P为多项式系数向量,返回值p为P的导函数系数向量. 2. 求P*Q积的导函数,参数P,Q均为多项式系数向量,返回值p为P*Q的导函数系数向量 3.求P/Q商的导函数, [p,q] (向量表示)为返回值分别存放导函数的分子与分母
例3-3 计算多项p=x4+8x3-10与q=2x2-x+3 的导数
3.2.2数值的微分和差分
Matlab提供的求微分和差分的函 数为diff,它的调用格式:
diff(x)
diff(x,n)
diff(x,n,dim)
说明: 参数x为向量或矩阵,若x为向量则计算x相邻元素之间的插值,返回值为一个比原向 量元素少一的向量;若x为矩阵,则返回各行插值的矩阵(x(2:m,:)-x(1:x,:)). 参数n表示计算差分的次数,(将diff循环应用) 参数dim为指定的维(1或2),若参数n等于或大于指定的维数,则函数返回一个空数组
interp1(x,y,xi,'spline')
说明:
spline(x,y,x1)
3次样条插值函数spline(X,Y,X1),其功能与函数interp1(X,Y,X1,‘spline’)完全 相同,不同的是算法规则.
p1 = 1.0000 -9.0000 -89.0000 -134.0000 ans = t^3-13*t^2+54*t-72 p2 = 1.0000 -9.0000 -89.0000 -134.0000 ans = x^3-9*x^2-89*x-134
3.1.2 多项式的运算
1.多项式乘法运算: conv(P1,P2) 2.多项式除法: [q,r]=deconv(P1,P2)