MATLAB学习笔记5 数值计算与多项式计算

MATLAB学习笔记5 数值分析与多项式计算

5.1 数据统计分析
求最大元素与最小元素
  • max():求向量或矩阵的最大元素
  • min():求向量或矩阵的最小元素

当参数为向量时,函数有两种调用格式:

  1. y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值
  2. [y,k]=max(X):返回向量X的最大值存入y,最大值元素的序号存入k,如果X中包含复数元素,则按模取最大值

当参数为矩阵时,函数有三种调用格式:

  1. max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值
  2. [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值元素的行号
  3. max(A,[],dim):dim取1或2。dim取1时,该函数的功能和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值
求平均值与中值
  • 平均值:指算数平均值,即每项数据之和除以项数
  • 中值:是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数
  1. mean():求算数平均值
  2. median():求中值
求和与求积
  1. sum():求和函数
  2. prod():求积函数
累加和与累乘积
  1. cumsum:累加和函数
  2. cumprod:累乘积函数
求标准差与相关系数

std():计算标准差函数
S 1 = 1 N − 1 ∑ i = 1 N ( x i − x ˉ ) 2 S_1=\sqrt{\frac{1}{N-1}\sum_{i=1}^{N}(x_i-\bar{x})^2} S1=N11i=1N(xixˉ)2

S 2 = 1 N ∑ i = 1 N ( x i − x ˉ ) 2 S_2=\sqrt{\frac{1}{N}\sum_{i=1}^{N}(x_i-\bar{x})^2} S2=N1i=1N(xixˉ)2

调用格式:

  1. std(X):计算向量X的标准差
  2. std(X):计算矩阵A的各列的标准差
  3. std(A,flag,dim):flag取0或1,当flag=0时,按s1所示公式计算样本标准差,当flag=1时,按s2所示公式计算总体标准差。默认情况下,flag=0,dim=1

corrcoef():相关系数函数

相关系数:能够反映两组数据序列之间的相互关系,其计算公式为
r = ∑ ( x i − x ˉ ) ( y i − y ˉ ) ∑ ( x i − x ˉ ) 2 ∑ ( y i − y ˉ ) 2 [ − 1 , + 1 ] r=\frac{\sum{(x_i-\bar{x})(y_i-\bar{y})}}{\sqrt{\sum{(x_i-\bar{x})^2\sum(y_i-\bar{y})^2}}} [-1,+1] r=(xixˉ)2(yiyˉ)2 (xixˉ)(yiyˉ)[1,+1]
调用格式:

  1. corrcoef(A):返回由矩阵A所形成的一个相关系数矩阵,其中,第i行第j列的元素表示原矩阵A中第i行和第j列的相关系数
  2. corrcoef(X,Y):在这里,X、Y是向量,它们与corrcoef([X,Y])的作用一样,用于求X、Y向量之间的相关系数
排序

sort():排序函数

调用格式:

  1. sort(X):对向量X按升序排序
  2. [Y,I]=sort(A,dim,mode)

其中,dim指明对A的列还是行进行排序。mode指明按升序还是降序排序,若取“ascend",则按升序;若取”descend",则按降序,默认为升序。输出参数中,Y是排序后的矩阵,而I记录Y中的元素在A中位置

5.2 多项式计算
多项式的表示

在MATLAB中,n次多项式用一个长度为n+1的行向量表示。如有n次多项式:
p ( x ) = a n x n + a n − 1 x n − 1 + a n − 2 x n − 2 + . . . a 1 x 1 + a 0 p(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+...a_{1}x^{1}+a_0 p(x)=anxn+an1xn1+an2xn2+...a1x1+a0
则在MATLAB中,p(x)表示为向量形式:
[ a n , a n − 1 , a n − 2 , . . . , a 1 , a 0 ] [a_n,a_{n-1},a_{n-2},...,a_{1},a_{0}] [an,an1,an2,...,a1,a0]
在MATLAB中创建多项式向量时,注意三点:

  1. 多项式系数向量的顺序是从高到低
  2. 多项式系数向量包含0次项系数,所以其长度为多项式最高次数加一
  3. 如果有的项没有,系数向量相应位置应用0补足
多项式的四则运算
  1. 多项式的加减运算

    相应向量相加减

  2. 多项式乘法

    conv(P1,P2):多项式相乘函数

    在这里,P1、P2是两个多项式系数向量

  3. 多项式除法

    [Q、r]=deconv(P1,P2):多项式相除函数

    Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍然是多项式系数向量

多项式的求导

polyder():多项式求导函数

调用格式:

  1. p=polyder§:求多项式P的导函数
  2. p=polyder(P,Q):求P·Q的导函数
  3. [p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q
多项式的求值
  • polyval(p,x):代数多项式求值

    其中,p为多项式系数向量;x可以是标量、向量或矩阵。若x为标量,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求多项式的值

  • polyvalm(p,x):矩阵多项式求值

    要求x为方阵,以方阵为自变量求多项式的值

多项式求根

roots§:多项式求根函数

其中,p为多项式的系数向量

若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为:p=poly(x)

5.3 数据插值
interp1() 一维插值函数

调用格式:

Y1=interp1(X,Y,X1,method)

根据X、Y的值,计算函数在X1处的值。其中,X、Y是两个等长的已知向量,分别表示采样点和采样值。X1是一个向量或者标量,表示要插值的点

method用于指定插值方法,常用的取值有以下四种:

  1. linear:线性插值,默认方法。将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应的插值点的数据
  2. nearest:最近点插值。选择最近样本点的值作为插值数据
  3. pchip:分段3次埃尔米特插值。采用分段三次多项式,除满足插值条件,还需满足在若干节点处相邻段插值函数的一阶导数相等,使得曲线光滑的同时,还具有保形性
  4. spline:3次样条插值。每个分段内构造一个三次多项式,使其插值函数除满足插值条件外,还要求在个节点处具有连续的一阶和二阶导数
interp2() 二维插值函数

调用格式:

Z1=interp2(X,Y,Z,X1,Y1,method)

其中,X、Y是两个向量,表示两个参数的采样值,Z是采样点对应的函数值。X1、Y1是两个标量或向量,表示要插值的点

method不支持pchip

5.5 曲线拟合
曲线拟合的原理

最小二乘法是一种数学优化技术。它通过最小化误差的平方和来寻找数据的最佳函数匹配

polyfit():多项式拟合函数

函数功能:求得最小二乘拟合多项式系数

调用格式:

  1. P=polyfit(X,Y,m)
  2. [P,S]=polyfit(X,Y,m)
  3. [P,S,mu]=polyfit(X,Y,m)

根据样本数据X和Y,产生一个m次多项式P及其在采样点的误差S,mu是一个二元向量,mu(1)是mean(X),而mu(2)是std(X)

曲线拟合的三种功能
  1. 估计数据
  2. 预测趋势
  3. 总结规律

P=polyfit(X,Y,m)
2. [P,S]=polyfit(X,Y,m)
3. [P,S,mu]=polyfit(X,Y,m)

根据样本数据X和Y,产生一个m次多项式P及其在采样点的误差S,mu是一个二元向量,mu(1)是mean(X),而mu(2)是std(X)

曲线拟合的三种功能
  1. 估计数据
  2. 预测趋势
  3. 总结规律
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值