拟合拓展

数学建模——拟合算法拓展

cftool工具箱实现快速拟合

如果你的matlab版本是2016+,可以直接在APP中直接找到在这里插入图片描述
在这里插入图片描述
如果你是2016以前版本的你可以直接在命令窗口输入cftool,就会弹出工具箱页面
这里是简单的功能介绍
在这里插入图片描述
这里可以选择自动生成拟合代码,在文件中调用非常方便
在这里插入图片描述

测试案例

这里提供一组数据便于大家进行拟合
在这里插入图片描述
按照上述步骤选择合适的拟合方法,利用拟合工具箱会得到以下的拟合结果
在这里插入图片描述
我们会发现拟合效果不是很好,后面的偏离程度比较大,这个时候就需要对初始值进行改变。
在这里插入图片描述
这里大家一定很好奇为什么改变调整这个值会对拟合效果产生这么大的影响,为什么改变其他的值意义不大,但这个问题我也没有得到一个较为确切的说法,就先用着,等到搞清楚以后会在专门解释一下的。

利用拟合后得到的函数进行预测
预测后三十年的结果就是这样的
在这里插入图片描述
这里提供代码

clc;clear
year = 1790:10:2000;
population = [3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76,92,106.5,123.2,131.7,150.7,179.3,204,226.5,251.4,281.4];
plot(year,population,'o');       %绘制散点图,大概确定拟合方向
cftool;      %打开拟合工具箱

[fitresult, gof] = createFit(year, population)   %函数调用
t = 2001:2030;   %预测后30年
xm = 340.8;   
r =  0.02753;    %参数带入
predictions = xm./(1+(xm./3.9-1).*exp(-r.*(t-1790)));  % 计算预测值
figure(2)      %重新声明一个图像避免覆盖
plot(year,population,'o',t,predictions,'.')  % 绘制预测结果图

如果发现有错误的地方也欢迎大家一起交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值