MATLAB数据的插值和拟合

本文最后更新于:1 个月前

插值

描述

当数据量不够,需要补充,且认定已有数据可信时,通常利用函数差值方法,进行数据补充。

方法

  1. 拉格朗日插值(Lagrange差值):一维差值
  2. 分段线性插值:分段线性的差值
  3. Hermite
  4. 三次样条插值:空间连续间断点
  5. 克里金差值(地理学)

Matlab差值函数使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
interp1() %一维差插值
intepr2() %二维插值
interp3() %三维插值
intern() %n维插值

% 一维差值示例
% method 有四个取值,如下,当省缺时为分段线性插值
% nearest 最近邻差值
% linear 线性插值
% spline 三次样条插值
$ cubic 立方插值

yi = interp1(x, y, xi, 'method');


% 二维插值示例
% method 有三个可选值,如下,当省缺时为双线性插值
% nearest 最近邻差值
% linear 双线性插值
% cubic 双三次差值

z = interp2(x0, y0, z0, x, y, 'method');


% 空间离散点插值 griddata 常用于地形的重构插值,griddata
% method 有三个可选值,如下,省缺时为双线性插值
% nearest 最近邻插值
% linear 双线性插值
% cubic 双三次插值
% v4 - MATLAB提供的插值方法
% 注:cx, cy需要进行网格化构建
% 使用[cx, cy] = meshgrid(x1, y1); 进行网格化
% 使用meshc(cx, cy, z); 绘制三维彩色等线图

cz = griddata(x, y, z, cx, cy, 'method');

函数拟合

描述

使用函数模型描述数据规律的方法。

方法

  1. 先选定一组函数$r_1(x),r_2(x),…,r_m(x), m<n$,令$f(X) = a_1r_1(x) + a_2r_2(x)+…+a_mr_m(x)$,其中:$a_1, a_2, …, a_m$为待定系数。
  2. 确定$a_1, a_2, …, a_m$的准则(最小二乘准则,平方和最小)
1
2
3
4
5
6
7
8
9
10
11
12

% 多项式拟合方法
% x和y为数据序列
% m为多项式的最高次数

a = polyfit(x, y, m);

% 已知多项式,计算多项式在指定位置的值
% x可以是数组

y = polyval(a, x);


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!