MATLAB数据插值:一维二维插值和拉格朗日插值
MATLAB教学视频:详解数据插值的MATLAB实现,视频时长约120分钟,通过三个具体的数学建模案例,详细地讲解了MATLAB中一维插值和二维插值的应用和实现方法。另外,还通过自编程的方式,实现拉格朗日插值方法。视频的最后,还对多维插值做了基本的介绍。
教学内容
1. 问题的描述:函数的逼近
2. 拟合与插值
3. 一维插值:曲线插值
4. 一维插值扩展:拉格朗日插值方法
5. 二维插值(曲面插值) 的两类问题描述
6. 二维插值(曲面插值):案例一
7. 二维插值(曲面插值):案例二
8. 多维插值概述
问题的描述:函数的逼近
构造出一个函数 y = P(x) 来逼近(近似替代) 已知的离散数据点 (x, y)
1. 数据拟合:近似函数不一定经过所有的已知离散数据点;通过拟合的方法(最小二乘法),求解出 P(x) 中的待定参数 a, b
2. 数据插值:近似函数一定要经过所有的已知离散数据点;选定特定形式的函数 y = P(x),求得插值函数
一维插值:曲线插值
已知一系列的离散数据点[x, y],求解插值点xq处的值yq
MATLAB自带的interp1函数,调用格式
yq = interp1(x, y, xq, method)
1. method为可选用的插值方法
2. linear 线性插值,默认的插值方法
3. nearest 最邻近插值
4. spline 三次样条插值
5. pchip 三次Hermite插值
6. cubic 同pchip
7. v5cubic 离散数据点必须是等间隔的
一维插值扩展:拉格朗日插值方法
拉格朗日插值是一种经典的多项式插值方法,可惜的是,MATLAB中并没有现成的内置函数,可以实现拉格朗日插值。这里直接给出拉格朗日插值多项式,具体的推导过程,可参照数值计算的教科书。
自定义一个拉格朗日插值函数yq=Lagr(x,y,xq),估计海洋在深度[400:20:1700]上的海水温度值。说明:为了简化插值函数的编写,设xq为单个待插值点的横坐标。
二维插值(曲面插值)的两类问题描述
1. 有规律分布的二维插值问题:已知数据为网格化的数据
1.1 MATLAB自带的interp2函数
1.2 zq= interp2(x, y, z, xq, yq, method)
2. 数据散乱或随机分布的二维插值问题:已知数据为散点的数据
2.1 MATLAB自带的griddata函数
2.2 zq= griddata(x, y, z, xq, yq, method)
二维插值(曲面插值):案例一
测得平板表面 3×5 网格点处的温度如下表所示,试作出平板表面的温度分布曲面 (x 方向和 y 方向的网格间隔,分别为 0.1 和 0.03)
二维插值(曲面插值):案例二
在中国南海的某海域,测得一些坐标点 [x, y] 处的水深如下表,已知船的吃水深度为 5m,求在矩形区域 [75, 200] x [-50, 150] 的哪些地方,船要避免进入?
多维插值概述
1. 已知数据为网格化的数据:MATLAB 自带的 interpn 函数
Vq = interpn(X1, X2, ... , Xn, V, Xq1, Xq2, ... , Xqn, method)
2. 已知数据为散点的数据:MATLAB 自带的 griddatan 函数
yi= griddatan(x, y, xi, method)
x dimension: m-by-n (插值的维数)
y dimension: m-by-1
xi dimension: p-by-n
yidimension: p-by-1
版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/143526.html