- 积分
- 2049
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-13
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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时拟合出的结果图
-
图2 i=11时利用cftool进行高斯拟合
-
-
pres.xlsx
10.2 KB, 下载次数: 1, 下载积分: 金钱 -5
pres
-
-
k.xlsx
16.2 KB, 下载次数: 1, 下载积分: 金钱 -5
k
|