Matlab中强大的曲线拟合工具箱

我们用一个例子引入

clear;clc

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.0,226.5,251.4,281.4]

cftool %拟合工具箱

% (1) X data选择year

% (2) Y data选择population

% (3)拟合方式选择: Custom Equation (自定义方程)

% (4)修改下方的方框为: x= f(t) = xm/(1 + (xm/3.9-1)*exp(-r*(t- 1790)))

% (5)左边的result-栏最上面显示: Fit computation did not converge:即没有找到收敛解

% (6)点击Fit Options,修改非线性最小二乘估计法拟合的初始值(StartPoint), r修改为0.02, xm修改为500

% (7)此时左边的result-览得到了拟合结果: r= 0.02735, xm = 342.4

% (8)依次点击拟合工具箱的菜单栏最左边的文件一Generate Code(导出代码到时候可以放在你的论文附录),可以得到一个

% (9)在这个打开的脚本中按快捷键Ctrl+S,将这个文件保存到当前文件夹。

% (10)在现在这个文件中调用这个函数得到参数的拟合值和预测的效果

[fitresult, gof] = createFit(year, population)

t = 2001:2030;

xm = 342.4;

r = 0.02735;

predictions = xm./(1 +(xm./3.9- 1).*exp(-r.*(t- 1790))); %计算预测值(注意这里要写成点乘和点除,这样可以保证按照对应元素进行计算)

figure(2)

plot(year,population,'o',t,predictions,'.') %绘制预测结果图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值