24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2970  |  回复: 18

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
7楼: Originally posted by 小小莓邮 at 2014-02-27 09:49:39
也就是说这造成这种现象是初值的原因是吧!有没有什么方法可以先初步估计一下初值,然后再以这个值为初值进一步估计参数?...

先调用遗传算法预估一个结果,以此结果作为初值,再调用lsqnonlin函数计算。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
11楼2014-02-27 10:10:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
11楼: Originally posted by 月只蓝 at 2014-02-27 10:10:24
先调用遗传算法预估一个结果,以此结果作为初值,再调用lsqnonlin函数计算。...

哦!还有一个问题就是,用ode返回的x的计算值每个点都等于x0,做出来的线是条水平线,这也是k的初值不对造成的吗?谢谢!
12楼2014-02-27 10:20:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
11楼: Originally posted by 月只蓝 at 2014-02-27 10:10:24
先调用遗传算法预估一个结果,以此结果作为初值,再调用lsqnonlin函数计算。...

还有就是我随机换了好几个初值,但还是得到k0!
13楼2014-02-27 10:45:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
9楼: Originally posted by 小小莓邮 at 2014-02-27 10:05:29
x2是产物。t=0时是为0啊,不过计算值出来每个点都是x0这个初值。这是什么原因?是x2=0造成的吗?...

x2=0时,微分方程右边每一项都有x2的乘项,会导致全部为0
14楼2014-02-27 11:41:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
14楼: Originally posted by dingd at 2014-02-27 11:41:26
x2=0时,微分方程右边每一项都有x2的乘项,会导致全部为0...

额!那岂不是不解?
15楼2014-02-27 11:55:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

你把x2=0改为x2=0.1试试,不改的话计算结果会是一条直线(全为0)
16楼2014-02-27 12:07:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
16楼: Originally posted by dingd at 2014-02-27 12:07:10
你把x2=0改为x2=0.1试试,不改的话计算结果会是一条直线(全为0)

将x2改成非零后可以拟合出k,但是拟合曲线的趋势跟试验点的趋势差别过大,这是不是就是k0的原因?有没有什么函数可以估算一下k0 ?
17楼2014-02-27 13:59:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

公式按前面所说简化,图方便用1stOpt求解:
CODE:
Variable t,x1,x2;
ODEFunction x1'=-x1*sqrt(x2)/(k1+k2*x1)-k4*k5*x2;
            x2'=x1*sqrt(x2)/(k1+k2*x1)+k5*x2;
Data;
0        8.32        0.1
1        7.37        0.211
2        6.74        0.738
3        5.92        1.106
4        5.68        1.296
5        5.01        1.583
6        6.09        1.364
8        5.35        1.84
10        4.99        2

均方差(RMSE):0.420626480368569
残差平方和(SSE):2.83082617579601
相关系数(R): 0.852105775635903
相关系数之平方(R^2): 0.726084252872063
确定系数(DC): 0.575698025223075
F统计(F-Statistic): 4.14392332314321

参数                  最佳估算
--------------------        -------------
k1        1.2026577837956
k2        0.369501550975634
k4        0.889293844320815
k5        -1.33346561077959
matlab拟合参数显示初始点是一个局部最小值
c1.jpg


matlab拟合参数显示初始点是一个局部最小值-1
c2.jpg

18楼2014-02-27 15:03:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1314168apple

金虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
1、可以把初值x0设定为【8.32 1e-18】1e-15等;可能是你的速率方程有误。
2、设定tspan的时候可以将区间中间隔缩小(如(0:0.01:10)),调用的时候提取需要的时间对应的浓度。否则有可能产生负数的浓度。一般的速率方程比较少见。
很有可能速率方程有问题。
为了最终理解你所不理解的,你必须经历一条愚昧无知的道路。为了占有你从未占有的东西,你必须经历被剥夺的道路。为了达到你现在所不在的名位,你必须经历那...
19楼2014-02-27 18:13:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小小莓邮 的主题更新
信息提示
请填处理意见