24小时热门版块排行榜    

查看: 1761  |  回复: 6

tmw1987

铁杆木虫 (正式写手)

[交流] 【求助】最小二乘法求参数 已有3人参与

如下式
y=A*exp(-t/B)
上式中,t为时间,y可通过实验测得数据,利用【t,y】系列数值及最小二乘法求参数A与B。我是用matlab中lsqcurefit函数拟合求解。将实验数值y分成n段求解,得到每段中A的数值差距不大,而B的波动是非常大的。

    试图寻找其中的原因和解决办法,我初步考虑可能是参数B处指数函数分母中,当指数函数数值波动一点时,相应的B值会产生很大的波动,不知这种理解是否恰当?

    所以我尝试着先将参数A确定(取平均),然后再将【A,t,y】反带回上式求解参数B,B的波动小了很多。这种处理方法可取吗?
   
    谢谢诸位大侠!

[ Last edited by javeey on 2010-4-21 at 19:10 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

★ ★ ★
小木虫(金币+0.5):恭喜抢沙发,给个红包
tmw1987(金币+10):可否帮忙进一步进行解答!!! 2010-04-21 20:39
Doctorcbw(金币+2):谢谢 2010-06-17 19:07:00
这个问题本身很简单,推导一下就可以求出A,B的表达式。令Y=ln(y),a=ln(A),b=-1/B,则有Y=a+bt,标准的最小二乘,自己套公式或者简单推导一下也可以。

关于你的“参数A确定(取平均),然后再将【A,t,y】反带回上式求解参数B,B的波动小了很多”我只能说可能是巧合。。
板凳要做十年冷文章不发一个字
2楼2010-04-21 20:20:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tmw1987

铁杆木虫 (正式写手)

引用回帖:
Originally posted by bluesine at 2010-04-21 20:20:39:
这个问题本身很简单,推导一下就可以求出A,B的表达式。令Y=ln(y),a=ln(A),b=-1/B,则有Y=a+bt,标准的最小二乘,自己套公式或者简单推导一下也可以。

关于你的“参数A确定(取平均),然后再将【A,t,y】反带回 ...

谢谢版主的亲情解答!

上贴是我的问题的简单化,我实际中用到的公式如下图所示,其中k,a为参数,h为常数,T是因变量,t为自变量。利用最小二乘拟合是k的波动小,而a的波动离奇,可否帮忙诊断一下!

3楼2010-04-21 20:38:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tmw1987

铁杆木虫 (正式写手)

引用回帖:
Originally posted by bluesine at 2010-04-21 20:20:39:
这个问题本身很简单,推导一下就可以求出A,B的表达式。令Y=ln(y),a=ln(A),b=-1/B,则有Y=a+bt,标准的最小二乘,自己套公式或者简单推导一下也可以。

关于你的“参数A确定(取平均),然后再将【A,t,y】反带回 ...

4楼2010-04-21 20:38:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlxydgq

铁虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
Doctorcbw(金币+1):谢谢 2010-06-17 09:06:11
我说一下我的看法和经历,并以不一定是正确的,但是楼主可以试试看。
我原来也用matlab拟合过一个函数,和你的一样,同样的程序,每次拟合出来的参数总是不一样的,而且变化还挺大,这让我很是郁闷,怎么都找不到解决的办法。后来,没有办法,我就改用了别的软件。后来无意中发现,如果精度提高的话,就会解决这个问题了。
5楼2010-06-17 08:54:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

saladin983

铁杆木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by tmw1987 at 2010-04-21 12:59:53:
如下式
y=A*exp(-t/B)
上式中,t为时间,y可通过实验测得数据,利用【t,y】系列数值及最小二乘法求参数A与B。我是用matlab中lsqcurefit函数拟合求解。将实验数值y分成n段求解,得到每段中A的数值差距不大,而 ...

很好的想法,有点预测校正的意思。
6楼2010-06-17 16:17:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tmw1987

铁杆木虫 (正式写手)

引用回帖:
Originally posted by wlxydgq at 2010-06-17 08:54:51:
我说一下我的看法和经历,并以不一定是正确的,但是楼主可以试试看。
我原来也用matlab拟合过一个函数,和你的一样,同样的程序,每次拟合出来的参数总是不一样的,而且变化还挺大,这让我很是郁闷,怎么都找不到 ...

敢问大侠用的是什么软件吗?
7楼2010-06-17 18:55:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tmw1987 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见