跳转至

MATLAB 数值分析

1.拟合

  • 多项式拟合
Matlab
p=polyfit(x,y,n)

x,y为样本点的横坐标与纵坐标,n为多项式拟合的次数。

p为所得n次多项式的系数,按降幂排列,长度为n+1,拟合后的多项式为\(p(x)=p_1x^n+p_2x^{n-1}+…+p_nx+p_{n+1}\)

  • 多项式计算
Matlab
y=polyval(p,x)

y为多项式p在x的每个点处的值。

p所代表的多项式为\(p(x)=p_1x^n+p_2x^{n-1}+…+p_nx+p_{n+1}\)

2.插值

  • 一维数据插值
Matlab
vq=interp1(x,v,xq,method)

x为样本点,v为x对应的样本值,xq为查询点

method为插值方法

vq为返回的插入值

插值方法 方法说明
'linear' 线性插值(默认)
'nearest' 最近邻点插值
'pchip' 保形分段三次插值
'spline' 使用非结终止条件的三次样条插值(准确)
'makima' 修正Akima三次插值(平缓)
  • 二维网格数据插值
Matlab
Vq = interp2(X,Y,V,Xq,Yq,method)

X,Y为通过meshgrid函数同时创建的矩阵,V为对应网格点上的值

Xq,Yq为查询点

method为插值方法

Vq为返回的插入值

插值方法 方法说明
'linear' 线性插值(默认)
'nearest' 最近邻点插值
'cubic' 基于三次卷积的三次插值
'spline' 使用非结终止条件的三次样条插值(准确)
'makima' 修正Akima的三次插值(平缓)