数学建模之拟合插值方法

插值和拟合

插值:

利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法

拟合:

形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。

以上是百度对二者的解释,归纳为:在这里插入图片描述
我们可以利用*matlab实现对一系列的点列进行差值操作,具体内容如下:

interp1函数

y=interp1(x,y,xi,method),x,y是已知数据,xi是要内插的点,method是插值的方法,包括:

在这里插入图片描述

多项式拟合

  • 多项式拟合指令方式
    p=polyfit(x,y,n);x,y是已知数据,n是拟合的多项式的阶数。返回降幂排序的多项式系数。
    一般拟合结束后,用yi=polyval(p,xi)计算出在xi中对应的函数值yi。用plot(xi,yi,‘r–’)进行绘图就可以得到拟合后的图像
>> x=[1 2 3 4 5 6 7 8 9];
>> y=[9 7 6 3 -1 2 5 7 20];
>> P=polyfit(x,y,3)

P =

    0.1481   -1.4030    1.8537    8.2698

指定函数拟合

如果问题中已经知道函数形式,那么问题就变成了通过已知数据将函数中位置参数求出来,可以使用fittype函数自定义拟合函数,用fit函数根据自定义函数拟合出结果,fittype函数和fit函数具体用法参考Help。

建立.m文件

syms t;
x=[0 0.4 1.2 2 2.8 3.6 4.4 5.2 6 7.2 8 9.2 10.4 11.6 12.4 13.6 14.4 15];
y=[1 0.85 0.29 -0.27 -0.53 -0.4 -0.12 0.17 0.28 0.15 -0.03 -0.15 -0.071 0.059 0.08 0.032 -0.015 -0.02];
f=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});%输入要拟合的函数,以及参数,自变量等-》自定义拟合函数
cfun=fit(x',y',f)  %显示拟合后的结果
xi=0:.1:20;
yi=cfun(xi);
plot(x',y','r*',xi,yi,'b--');

结果是:
在这里插入图片描述

正在学习建模与matlab操作,顺便做做笔记hhh,第一篇博客草草结束啦!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值