Matlab的插值与拟合


前言

在命令行窗口中完成插值与拟合

一、插值与拟合

插值:在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。

拟合:拟合是指已知某函数的若干离散函数值,通过调整该函数中若干待定系数,使得该函数与已知点集的方差最小。

二、使用步骤

1.插值

1.1对某个点插值

一个简单的例子
这里有一组速度随时间变化的数据:

x(时间)035791112131415
y(速度)01.21.722.121.81.211.6

如果我们想知道当时间为8.5s时,速度是多少?
先导入数据到matlab,我这里直接在命令行窗口中创建一个x、y的向量,把数据直接复制进去。

>> x=[]

x =

     []

>> y=[]

y =

     []

如图,x、y向量被创建。
在这里插入图片描述

分别将时间数据和速度数据复制到x、y中。
把8.5s对应的数据求出来:

>> interp1(x,y,8.5,'spline')

ans =

    2.0959

对于第四个参数,对应的是插值方法,插值的方法有
在这里插入图片描述
1.2对一个范围插值
即对向量中的每一项进行插值,对与多个缺失数据可进行补全。如相对x中0~15这个区间我们取一万个点。

>> x1=linspace(1,15,10000);
>> y1=interp1(x,y,x1,'spline');
>> plot(x,y)
>> hold on
>> plot(x1,y1)

在y中的数据已变成10000个。

2.拟合

在命令行窗口中输入:>> cftool
可得到曲线拟合工具箱。
在这里插入图片描述
选择输入的数据:
在这里插入图片描述
选择拟合的类型。这里选择三次多项式拟合:
![在这里插入图片描述](https://img-blog.csdnimg.cn/dcb0cab3216649dbb961e29ca6b23563.png
在窗口的左边可以看到拟合的表达式。
当拟合完成后,可以将数据邮件保存到工作区。
在这里插入图片描述
工作区会生成一个模型文件。
在这里插入图片描述
将其直接拖拽到命令行窗口

>> fittedmodel(8.5)

ans =

    1.9885

即可得到8.5s时的速度。

参考:https://www.bilibili.com/video/BV1uR4y1p73L?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值