【数模matlab】拟合与插值

多项式拟合

拟合又称曲线逼近,不要求一定过数据点

指令拟合

X = [1:9];
Y = [9,7,6,3,-1,2,5,7,20];  //对X/Y数据进行拟合
FitPoly = polyfit(X,Y,5); //对数据点进行5次多项式拟合,返回值是拟合函数
NewX = linspace(0,9); //产生0~9线性等间距的100个数据
NewY = polyval(FitPoly,NewX);//计算拟合函数在自变量NewX对应的函数值
figure('name','Data Curve Fitting','NumberTitle','off');//定义窗口名和关掉Title等信息
plot(X,Y,'o',NewX,NewY);

1

图形操作拟合

X = [1:9];
Y = [9,7,6,3,-1,2,5,7,20];  //对X/Y数据进行拟合
plot(X,Y,'o');

图形界面->“工具”->“基本拟合”
然后就可以选择拟合曲线阶次等信息

自定义函数拟合

clc;clear;
syms t;	//定义符号变量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];
x = x';	//fit函数要求x,y必须为列向量
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];
y = y';
f = fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'}); //生成一个fittype,fit函数第3个参数是fittype类型
cfun = fit(x,y,f);  //拟合曲线,包含了系数大小
NewX = [0:0.1:20];
NewY = cfun(NewX);
plot(x,y,'o',NewX,NewY);

曲线拟合工具箱cftool

打开方法:command输入cftool

—————————————————————————————————————————————————

插值

插值与拟合的区别

插值曲线要过数据点,拟合曲线整体效果更好

插值实例

x,y方向均为1~10
在这里插入图片描述

clc;clear
[x,y] = meshgrid(1:10);	//生成测量网格,x,y方向均为1~10,x与y均为10x10矩阵
AltitudeData = [0,0.02,-0.12,0,-2.09,0,-0.58,-0.08,0,0;
 0.02,0,0,-2.38,0,-4.96,0,0,0,-0.1;
 0,0.1,1,0,-3.04,0,-0.53,0,0.1,0;
 0,0,0,3.52,0,0,0,0,0,0;
 -0.43,-1.98,0,0,0,0.77,0,2.17,0,0;
 0,0,-2.29,0,0.69,0,2.59,0,0.3,0;
 -0.09,-0.31,0,0,0,4.27,0,0,0,-0.01;
 0,0,0,5.13,7.4,0,1.89,0,0.04,0;
 0.1,0,0.58,0,0,1.75,0,-0.11,0,0;
 0,-0.01,0,0,0.3,0,0,0,0,0.01;]
[xi,yi] = meshgrid(1:0.1:10);	//查询点的测量网格
iAltitudeData = interp2(x,y,AltitudeData,xi,yi,'spline'); //插值(x,y,AltitudeData)是样本点的数据,xi,yi是测量点数据
surf(xi,yi,iAltitudeData);	//绘制三维曲面图
xlabel('x'),ylabel('y');zlabel('h');
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值