24小时热门版块排行榜    

查看: 3304  |  回复: 35

找呀找钱

新虫 (小有名气)

引用回帖:
9楼: Originally posted by optics_ at 2014-08-27 10:21:47
恩恩,1stopt我试了,可以解出来正确的参数,拟合度也挺高,但是把1stopt解出来的值用matlab再解一遍,matlab就解不出来了,不知道为什么,求指导!...

计算量大,matlab就死了
11楼2014-08-27 10:23:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

optics_

铁虫 (初入文坛)

引用回帖:
11楼: Originally posted by 找呀找钱 at 2014-08-27 10:23:41
计算量大,matlab就死了...

谢谢,那matlab做非线性拟合或者解非线性方程有没有好一点的方法呢?
12楼2014-08-27 11:12:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NicoleLas

木虫 (正式写手)

引用回帖:
12楼: Originally posted by optics_ at 2014-08-27 11:12:26
谢谢,那matlab做非线性拟合或者解非线性方程有没有好一点的方法呢?...

lsqcurvefit+MultiStart+Parallel Computing Toolbox,我也在思考这类问题,不过还未真的去做,初值选取是个麻烦,或许可以以1stOpt求解的结果作为初值再代入MATLAB迭代,或者就用1stOpt吧,其在这方面还是有优势的。
Be water, my friend.
13楼2014-08-27 12:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

optics_

铁虫 (初入文坛)

引用回帖:
13楼: Originally posted by NicoleLas at 2014-08-27 12:54:31
lsqcurvefit+MultiStart+Parallel Computing Toolbox,我也在思考这类问题,不过还未真的去做,初值选取是个麻烦,或许可以以1stOpt求解的结果作为初值再代入MATLAB迭代,或者就用1stOpt吧,其在这方面还是有优势的 ...

我的想法跟你一样,用1stopt求解的结果作为初值再代入MATLAB迭代,换了好几组不同的数据都发现MATLAB还会在1stopt求解的结果的基础上再迭代3,4次左右,最后得到的最终解也就变了,不懂为什么会这样,1stopt的收敛极限是10^-10,而MATLAB的收敛极限是10^-6,不应该是1stopt得到的结果更精确么,为什么MATLAB还要将这个解迭代?求指导!还有继续感谢,Isqcurvefit和nlinfit拟合我都试试刚刚,依然困惑于初值,所以得到的解还是跟正确的解偏差很大,MultiStart和Parallel Computing Toolbox我没了解过之前,再去看看,谢谢!
14楼2014-08-27 14:53:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

引用回帖:
8楼: Originally posted by optics_ at 2014-08-27 10:19:22
恩恩,谢谢,我再去试试!我还想问,如果我每个参数值都设置了拟合上下限,还用设置初始值么?就是说一般情况下,同样的拟合上下限不同的初始值,拟合出来的结果一样么?...

这个可以试试,反正也挺简单的。不过真的怀疑没有你要的解。1stOpt解出来的解画出图形和数据吻合好吗?
15楼2014-08-27 15:06:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NicoleLas

木虫 (正式写手)

引用回帖:
14楼: Originally posted by optics_ at 2014-08-27 14:53:35
我的想法跟你一样,用1stopt求解的结果作为初值再代入MATLAB迭代,换了好几组不同的数据都发现MATLAB还会在1stopt求解的结果的基础上再迭代3,4次左右,最后得到的最终解也就变了,不懂为什么会这样,1stopt的收敛极 ...

或许MATLAB的算法可能在求解某些问题上效果不太好吧,专业优化软件一般会有优势一些,至于为什么还迭代,这个我也不很好说,我一般看结果,R-Square,F-Statistic,SSE什么的,然后残差图,以及参数的Coeff Interval。也许你的拟合模型还可以调整一下或者因为手误哪个地方弄错了。
   我也不保证MultiStart+Parallel Computing Toolbox能提高结果精度,其具体操作时还有一堆策略..............
   不过,祝好运啦!
Be water, my friend.
16楼2014-08-27 15:28:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

optics_

铁虫 (初入文坛)

引用回帖:
15楼: Originally posted by hytao2012 at 2014-08-27 15:06:41
这个可以试试,反正也挺简单的。不过真的怀疑没有你要的解。1stOpt解出来的解画出图形和数据吻合好吗?...

还是不行,试了很多组初值,R还是负的,拟合的一点也不好,真心不懂了,还用origin的自定义拟合函数试了试,拟合出来的R也是负的,也调了初值还是不行,然后楼下有人建议用用lsqcurvefit和nlinfit,我试了试解出来的值都和我想要的解差的很多,无语了啊啊啊。1stopt解出来的解还是挺吻合的,图我就不贴了,下面是报告。但是现在我都开始怀疑1stopt靠不靠谱了,为什么只有它能解出来。

迭代数: 112
计算用时(时:分:秒:微秒): 00:18:30:379
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.000261221902678085
残差平方和(SSE): 0.000142683321179445
相关系数(R): 0.999999999997606
相关系数之平方(R^2): 0.999999999995212
决定系数(DC): -2.04562986764419
卡方系数(Chi-Square): 0.148455468079492
F统计(F-Statistic): 436303836271944

参数        最佳估算
----------        -------------
a                  0.800337165807115
b                  0.000475434654389602
c                  0.989996861754167
d                  1.00265650022597
e                  0.0534333541169663
f                  2.34756185300648E-11
g                  0.0254246658821726
17楼2014-08-27 18:08:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

引用回帖:
17楼: Originally posted by optics_ at 2014-08-27 18:08:27
还是不行,试了很多组初值,R还是负的,拟合的一点也不好,真心不懂了,还用origin的自定义拟合函数试了试,拟合出来的R也是负的,也调了初值还是不行,然后楼下有人建议用用lsqcurvefit和nlinfit,我试了试解出来 ...

不知道为什么,用你给的这组数据做出的图像近似一条直线。而你给的那组数是一条弯曲的啊
18楼2014-08-27 19:00:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
这是非线性回归或者方程拟合问题。
要说是求解方程组问题的话,由于你的x~y的数据有几百组,而未知数仅有几个,是典型的方程数大于未知数个数的问题,极可能出现无解的情况。
所以理解是非线性回归才是合理的。
推荐用1stopt软件来解决该问题,该问题参数个数多,初值不易确定。就拟合而言,通常1stopt软件比MATLAB强大。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
19楼2014-08-27 20:38:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

optics_

铁虫 (初入文坛)

引用回帖:
16楼: Originally posted by NicoleLas at 2014-08-27 15:28:01
或许MATLAB的算法可能在求解某些问题上效果不太好吧,专业优化软件一般会有优势一些,至于为什么还迭代,这个我也不很好说,我一般看结果,R-Square,F-Statistic,SSE什么的,然后残差图,以及参数的Coeff Interv ...

嗯啊!O(∩_∩)O谢谢。
20楼2014-08-28 10:12:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 optics_ 的主题更新
信息提示
请填处理意见