声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3282|回复: 7

[综合讨论] 关于用lsqnonlin进行曲线拟合的问题

[复制链接]
发表于 2007-8-14 17:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位高手,小弟最近在进行对一条增益曲线进行拟合时,遇到了困难,查阅书籍时,发现和这个例子比较相似:
例子如下:函数为:y=c(1)*exp(-d(1)*x)+c(2)*exp(-d(2)*x)
function f=myfun(d,Data)
%假设y=c(1)*exp(-d(1)*x)+...+c(n))*exp(-d(n)*x)
%带有n个线性参数,n个非线性参数
x=Data(:,1);y=Data(:,2);
A=zeros(length(x),length(d));
for i=1:length(d)
    A(:,i)=exp(-d(i)*x);
end
c=A\y;      %通过A*c=y求解线性参数c;
z=A*c;
f=z-y;

Data=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0;5.8955,3.5639,2.5173,1.9799,1.899,1.3938,1.1359,1.0096,1.0343,0.8435,0.6856,0.61,0.5392,0.3946,0.3903,0.5474,0.3459,0.137,0.2211,0.1704,0.2636]';
options=optimset('LargeScale','off');
options=optimset(options,'MaxFunEvals',300);
options=optimset(options,'LevenbergMarquardt','off');
options=optimset(options,'LineSearch','cubicpoly');

d0=[1,2];
d=lsqnonlin('myfun',d0,[],[],options,Data);

【结果输出】
c=2.8898
     3.0061
d=1.4006    10.5891
但现在我的问题是:我要求的公式形式为:y=c(1)*exp(-d(1)*x/t(1))+c(2)*exp(-d(2)*x/t(2))+……c(10)*exp(-d(10)*x/t(10))也就是说有三个未知数向量需要求解,那么,如何在本例子上修改呢?
我试了很多种形式,都提示我公式运用错误,请各位不吝赐教。
p.s:或者不用这么麻烦,直接把三个参数向量全改成a(1),a(2)……?但为了得到结果的方便,还是希望各位帮我看一看(cause有三十个系数需要确定,每个向量十个,分开求出比较方便)
回复
分享到:

使用道具 举报

发表于 2007-8-14 20:20 | 显示全部楼层
d(i)/t(i)实际上等价于d(i),公式可简写为:y=c(1)*exp(-d(1)*x)+c(2)*exp(-d(2)*x)+……c(10)*exp(-d(10)*x),系数只有20个。
 楼主| 发表于 2007-8-14 20:30 | 显示全部楼层
我不是这个意思,按照你的说法,其实可以等价为一个系数了,因为论文需要把三个系数分别求出,公式比这个更加复杂,这个只是意思一下,完整的应该是:g(w)=a(1)exp(-(w-d(1))^2/t(1)^2)+^……+a(10)exp(-(w-d(10)^2)/t(10)^2),
让你费心了,谢谢
 楼主| 发表于 2007-8-14 20:32 | 显示全部楼层
g(w)=a(1)exp(-(w-d(1))^2/t(1)^2)+……+a(10)exp(-(w-d(10))^2)/t(10)^2)
我把公式写清楚点,呵呵
发表于 2007-8-14 23:49 | 显示全部楼层
这种拟合问题,建议用1stOpt!
 楼主| 发表于 2007-8-15 10:10 | 显示全部楼层
对不起,因为是论文要求用LM算法实现的,所以,能帮我想想好么?另:1stopt我不知道是什么,:'(
发表于 2007-8-16 10:47 | 显示全部楼层
1stOpt是个优化软件,搜索一下就知道了,其中也包含LM算法。
发表于 2007-8-17 19:44 | 显示全部楼层



1stopt 这个 google 一下或者搜索本论坛就可以了,建议自己多动手。dingd 版友对于这个软件有不错的研究,如果要使用的话请多参考他的帖子
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 09:50 , Processed in 0.056250 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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