当前位置:文档之家› Matlab多项式运算

Matlab多项式运算


2.8.2 函数相关分析
2、相关矩阵函数corrcoef( ) 格式一: p=corrcoef (x) 功能:根据输入矩阵x,返回一个相关系数矩阵相关系数 矩阵由下式确定: c (i, j ) s (i, j ) c (i, i )c ( j , j ) 格式二: s=corrcoef(x,y)
即有理多项式可展开为: s 4

5 s5

1 .6 6 6 7 s 1
0
部分分式展开函数residue
格式二:[b,a]=residue(r,p,k) 功能:格式一的逆作用
统计分析
Matlab有专用的统计分析工具箱;常用的命令为:
统计分析
1. 求矩阵最大元素和最小元素 MATLAB提供的求数据序列的最大值和最小值的 函数分别为max和min,两个函数的调用格式和操 作过程类似。 (1)求向量的最大值和最小值 格式一: y=max(X) 返回向量X的最大值存入y,如果X中包含复数 元素,则按模取最大值。如果x为向量,返回x中 最大值元素;如果x是矩阵,则将矩阵每列作为处 理向量,返回一个行向量;
b(s) a(s)

r1 s p1

r2 s p2
.....
rn s pn
k
其中,r代表余数数组,p代表极点数组,k代表常数项。
部分分式展开函数residue
例:
将有理多项式
10 s 20 s 8s 19 s 12
3 2
展开成部分分式。
6 .6 6 6 7
3. 矩阵元素求和与求积
数据序列求和与求积的函数是sum和prod,其调用格式分
别为:
s=sum(x)
功能:如果x为向量,则返回X的元素和;如果x为矩阵, 则将矩阵每列当作向量处理,返回一个元素分别为各列和 的行向量。
prod函数与sum函数的调用格式完全一样,只是功能不同;
4. 列元素累乘积函数cumprod( )
已知某产品从1900年到2010年每隔10年的产量为: 75.995, 91.972, 105.711, 123.203, 131.699, 150.697, 179.323, 203.212, 226.505, 249.633, 256.344, 267.893,计 算出1995年的产量,用三次样条插值的方法,画出每隔 一年的插值曲线图形,同时将原始的数据画在同一图上。
多项式四则运算
多项式加减运算:Matlab没有提供专门进行多项式 加减运算的函数,事实上,多项式的加减就是其所对 应的系数向量的加减运算。
对于次数相同的多项式,可以直接对其系数向量 进行加减运算; 如果两个多项式次数不同,则应该把低次多项式 中系数不足的高次项用0补足,然后进行加减运算。
功能:返回向量x和y的相关系数。
2.8.3 函数插值运算
插值就是在已知的数据点之间利用某种算法寻找估计值 的过程。在信号处理、图像处理中,插值运算占有重要 的地位;matlab提供了一系列的插值函数。其基本的插值 函数有: interp1( ) interp1q( ) interp2( ) inerp3( ) interpft( ) inerpn( ) spline( )
y=polyval(p,x):返回多项式p在x点的值
其中:x可以是复数,也可以是矩阵; 例:已知 p ( x ) 2 x 3 x 2 3 ,分别取 x=2和一个2x2矩阵, 求 p(x)在 x处的值 >> p=[2,-1,0,3]; >> x=2;polyval(p,x) >> x=[-1, 2;-2,1];polyval(p,x)
一维数据插值 定义:已知离散点上的数据集 ,即已知在点集X 上的函数值Y,构造一个解析函数(其图形为一 曲线)通过这些点,并能够求出这些点之间的值, 这一过程称为一维插值。 在MATLAB中,实现一维插值的函数是interp1, 其调用格式为: Y1=interp1(X,Y,X1,'method') 函数根据X,Y的值,计算函数在X1处的值。X,Y是两 个等长的已知向量,分别描述采样点和样本值, X1是一个向量或标量,描述欲插值的点,Y1是一 个与X1等长的插值结果。method是插值方法,允 许的取值有‘linear’、‘nearest’、‘cubic’、 ‘spline’。
格式二: [y,I]=max(X) 返回向量X的最大值存入y,最大值的序号存入I,如 果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完 全相同。 例 求向量x的最大值。
格式三:max(A,[],dim)
dim取1或2。dim取1时,该函数和max(A)完全相同;
4. 列元素累求和函数cumsum( )
格式为:A=cumsum(x)
功能:沿数组不同维,返回累计和,当x是向量时,返回x
的元素累计和;如果x为矩阵时,返回一个与x大小相同的
每列累计和的矩阵; 例如:
4. 列元素累求和函数cumsum( )
2.8.2 函数相关分析
在matlab中用于相关分析的函数主要有cov( )函数和 corrcoef( )函数。 1、协方差函数cov( ) 格式一: c=cov(x) 格式二: c=cov(x,y);
多项式的导数:polyder
k=polyder(p): 返回多项式p的一阶导数;
k=polyder(p,q): 返回多项式p与q乘积的一阶导数; [k,d]=polyder(p,q):返回p/q 的导数,k是分子,d是分母。
3 2 p ( x ) 2 x x 3,q ( x ) 2 x 1 , 例:已知
所得结果代表的多项式为: d ( x ) 2 x 6 x 12 x 20
3 2
多项式四则运算(续)
多项式乘法运算: k=conv(p,q)
多项式的相乘就是两个代表多项式的行向量的卷积
例:计算多项式 2 x 3 x 2 3 和 2 x 1 的乘积 >> p=[2,-1,0,3]; >> q=[2,1]; >> k=conv(p,q); 多项式除法运算:[k,r]=deconv(p,q) 其中k返回的是多项式p除以 q的商,r是余式。 [k,r]=deconv(p,q) <==> p=conv(q,k)+r
p=ploy(x)
p ( x ) ( x x 1 )( x x 2 ) ( x x n )
部分分式展开函数residue
Residue函数可以完成有理多项式的部分分式展开,它是一个对 系统传递函数特别有用的函数,其调用格式为:
格式一:[r,p,k]=residue(b,a)
功能:把b(s)/a(s)展开成:
2. 求矩阵的平均值和中值 求数据序列平均值的函数是mean,求数据序列中值 的函数是median。两个函数的调用格式为: M=mean(x) 功能:如果x为向量,则返回向量x的平均值;如果x为 矩阵,则将矩阵每列当作向量来处理,返回一个平均 值行向量; 例如:
2. 求矩阵的平均值和中值 数据序列中值的函数是median,其调用格式为: M=median(x) 功能:如果x为向量,则返回向量x的中间值;如果x为 矩阵,则将矩阵每列当作向量来处理,返回一个中间 值行向量; 例如:
2.11 函数分析与数值积分
在实际应用中,我们常常对一些函数的极值、积分、 微分等问题感兴趣,为此,matlab在函数功能和数值
分析函数库(funfun)中为用户提供了有关的函数命令。
2.11 函数在matlab中的表示
1、函数的表示与计算 在matlab中,对一个给定的函数表达式,通常可以用两 种方法来表示:函数文件和内联函数; 从前面的学习中我们知道,在matlab中,数学函数可以 用函数文件表示,由function来实现。例如: 1 f (x) 2 ( x 0 .3) 0 .0 1 则可用函数文件hump.m来表示: function y=hump(x) y=1./((x-0.03).^2+0.01)
dim取2时,该函数返回一个列向量,其第i个元素是A
矩阵的第i行上的最大值。
求最小值的函数是min,其用法和max完全相同。
2. 求矩阵的平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的 函数是median。两个函数的调用格式为: mean(X):返回向量X的算术平均值。 median(X):返回向量X的中值。 mean(A):返回一个行向量,其第i个元素是A的第i列 的算术平均值。 median(A):返回一个行向量,其第i个元素是A的第i列 的中值。 mean(A,dim):当dim为1时,该函数等同于mean(A); 当dim为2时,返回一个列向量,其第i个元素是A的第i 行的算术平均值。 median(A,dim):当dim为1时,该函数等同于 median(A);当dim为2时,返回一个列向量,其第i个元 素是A的第i行的中值。
多项式求根
求解多项式的根,即p(x)=0的解。在matlab中,求解多项式的 根有roots函数命令来完成。
x=roots(p):返回多项式的根,注意:matlab 按惯例,多项式是行向量,根是列向量。
例:已知 p ( x ) 2 x x 3 ,求p(x)的根。
3 2
>> p=[2,-1,0,3]; >> x=roots(p) 若已知多项式的全部根,则可用poly函数给出该多项式。
格式为:A=cumprod(x)
功能:沿数组不同维,返回累乘积,返回值A与x大小一
样,与元素全乘积不同,它只将x中相应元素与其之前的
所有元素相乘;当x是向量时,返回x的元素累计积向量; 如果x为矩阵时,返回一个与x大小相同的每列累乘积的矩 阵; 例如:
相关主题