suffer 发表于 2007-6-22 06:35

非线性拟合的1stOpt与Lingo实现[转贴]

非线性拟合也是一优化问题,即残差平方和最小,Lingo因而可用于曲线拟合。Lingo也不需要赋初值。
拟合数据:X = ,

Y = ;

拟合公式:

y = A1*(Exp(-A2*X)-Exp(-A3*X))



Lingo代码:

Model:

   Sets:

       BAC/R1..R23/:X,Y;

   EndSets

   Data:

       X = 0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16;

       Y = 30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4;

   EndData

   Min = @Sum(BAC: A1*(@Exp(-A2*X)-@Exp(-A3*X))-y)^2);

End1stOpt代码:Constant X = ,

             Y = ;

MinFunction Sum(i=1:23,X,Y)((A1*(Exp(-A2*X)-Exp(-A3*X))-y)^2);Lingo不需初值,成功率不是很高(有兴趣可自己试试),还有如果想赋初值,在Lingo里不知如何设定。1stOpt也不需初值,本题成功率为100%。有兴趣者也可用其它数学工具练练手,对比一下。

来自:simwe--shamohu

aduktxj 发表于 2007-6-30 09:31

Lingo是什么软件

suffer 发表于 2007-7-1 20:53

原帖由 aduktxj 于 2007-6-30 09:31 发表 http://www.chinavib.com/forum/images/common/back.gif
Lingo是什么软件

运筹学软件/模型优化
百度一下就能看到详细介绍

aduktxj 发表于 2007-7-3 09:30

谢谢指点:@D

woodballhead 发表于 2007-9-19 22:06

:lol 上面的lingo程序少了一个括号?

suffer 发表于 2007-9-21 01:50

原帖由 woodballhead 于 2007-9-19 22:06 发表 http://www.chinavib.com/forum/images/common/back.gif
:lol 上面的lingo程序少了一个括号?

真仔细,确实少了一个

[ 本帖最后由 suffer 于 2007-9-21 01:55 编辑 ]
页: [1]
查看完整版本: 非线性拟合的1stOpt与Lingo实现[转贴]