爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4620|回复: 1

[程序设计] 关于高斯拟合的问题

[复制链接]

新浪微博达人勋

发表于 2014-6-4 15:22:24 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
       最近在做高斯拟合,但是拟合过程中遇到一个问题。我有一个数据组k(49*689)作为因变量,pres为自变量,想对k的每列数据进行高斯拟合(事先已经知道每列数据的大致形状为单峰曲线),于是编了以下的程序:***************************************

for i=1:689
       f = fittype('a*exp(-((x-b)/c)^2)');
       plot(pres,k(:,i),'.')
       [cfun,gof,output] = fit(pres,k(:,i),f);
       ff = cfun.a*exp(-((pres-cfun.b)/cfun.c).^2);
       hold on;
       plot(pres,ff,'r','LineWidth',2);

end
****************************************
数据在附件中,因为数据量比较大,只截取了k的前12列数据。
运行后发现,有些数据拟合出来的曲线和原数据不符,本来应该是单峰曲线,结果拟合出的是一条直线。

比如当 i=11时,拟合结果图如下(图1)
但是利用cftool工具箱,手动对此组数据拟合时,可以得到比较好的拟合结果(图2)
我感觉拟合结果很不稳定,是不是程序中需要再加些什么约束条件?
自己在网上查询了很久,没有找到相关的解答,想请教一下各位,该如何解决这个问题,先谢谢了。

图1 i=11时拟合出的结果图

图1  i=11时拟合出的结果图

图2 i=11时利用cftool进行高斯拟合

图2 i=11时利用cftool进行高斯拟合

pres.xlsx

10.2 KB, 下载次数: 1, 下载积分: 金钱 -5

pres

k.xlsx

16.2 KB, 下载次数: 1, 下载积分: 金钱 -5

k

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2014-6-4 21:33:27 | 显示全部楼层
我拟合一般用spss
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表