24小时热门版块排行榜    

查看: 1097  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

olimpical

新虫 (初入文坛)

[求助] matlab进行多项高斯拟合,不用自带cftool拟合工具,怎么办?

请问在cftool中我用的是最高项a1*exp(-((x-b1)/c1)^2)+...+a8*exp(-((x-b8)/c8)^2)的这个公式,现在不想用这个自带的cftool拟合工具箱,而是写成个程序,经过多次循环后得到最佳拟合值,请赐教,谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+2, 谢谢指导 2012-11-17 09:12:01
olimpical: 金币+6, ★★★★★最佳答案 2012-11-26 11:29:03
可以直接 用fit写
参考
x=A(:,1);
y=A(:,2);

opts=fitoptions('method','NonlinearLeastSquares','Lower',[.........],'Upper',[...]);%参数a,b上下限
st= [...];%参数a,b初值
set(opts,'Startpoint',st_);
ft_ = fittype('gauss8');
[cf_,good]= fit(x,y,ft_,opts)
plot(x,y'or-',x, cf_(x), '* ');
legend('原始数据','拟合图')

a1=cf_.a1%参数a,b拟合值
.....
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
3楼2012-11-15 19:50:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

文家武

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2012-11-17 09:11:50
olimpical: 金币+4, ★★★很有帮助 2012-11-26 11:28:53
lsqnonlin 最小二乘法
2楼2012-11-15 15:18:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见