插值与拟合
分为曲面拟合和曲线拟合,拟合就是要找出一种方法(函数)使得得到的仿真曲线(曲面)最大程度的接近原来的曲线(曲面),甚至重合。这个拟合的好坏程度可以用一个指标来判断。
适用场景
适用于有物体运动轨迹图像的模型。
插值
如果要求这个近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为插值问题。(不需要函数表达式)
拟合
如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法称为数据拟合。(必须有函数表达式),近似函数不一定(曲线或曲面)通过所有的数据点。(在这种情况下,通常要求观测数据相对比较准确,即不考虑观测误差的影响。)
插值和拟合的异同
联系
- 都是根据实际中一-组已知数据来构造一个能够反映数据变化规律的近似函数的方法。
区别
- 插值问题不一定得到近似函数的表达形式, 仅通过插值方法找到末知点对应的值。数据拟合要求得到一个具体的近似函数的表达式。
观测数据能否正确揭示某些变量之间的关系,往往取决于两个方面
- 观测数据的准确性或准确程度,这是因为在获取观测数据的过程中一般存在随机测量误差,导致所讨论的变量成为随机变量。
- 对观测数据处理方法的选择,即到底是采用插值方法还是用拟合方法,插值方法之中、拟合方法之中又选用哪一种插值或拟合技巧来处理观测数据。
导弹运动轨迹问题
- 建立空间直角坐标系,得到测距仪的位置坐标
- 依据球半径特点列出轨迹方程
- 进行插值操作
- 得到时间轨迹参数方程
代码如下
clc ,clear
syms x y
syms z positive %由于导弹在空中,因此定义符号变量z为正
format long g %各长小数的数据显示格式
a= load('daodan.txt');%名把原始的全部数据保存到纯文本文件daodan.txt日
d=a(:,[2:end]); %提取3个测距仪到观测点的距离,a的第一列为时间
n=size(a,1); sol=[];%告sol为保存观测点坐标的矩阵,这里初始化
for i =1:n
eq1=x^2+y^2+z^2-d(i,1)^2;%告定义非线性方程组的符号方程的左端项
eq2=x^2+(y-4500)^2+z^2-d(i,2)^2;
eq3=(x+2000)^2+(y-1500)^2+z^2-d(i,3)^2;
[xx,yy,zz]= solve(eq1,eq2,eq3); %求x,Y,Z的符号解
sol =[ sol ;doub1e([xx,yy,zz])];%数据类型转换,符号数据无法进行插值运算
end
sol%各显示求得的10个点的坐标
pp1 =csape(a(:,1),so1(:,1))%求x(t)的插值函数
xishul =ppl.coefs(end,:) %显示x(t)最后一个区间的三次样条函数的系数
pp2 = csape(a(:,1),so1(:,2)) %求y(t)的插值函数
xishu2 =pp2.coefs(end,:) %显示y(t)最后一个区间的三次样条函数的系数
pp3 =csape(a(;,1),sol(:,3)) %各求z(t)的插值函数
xishu3 = pp3.coefs(end,:) %显示z(t)最后一个区间的三次样条函数的系数