24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 2202  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

飞鸿印雪jay

银虫 (小有名气)

[求助] 想用遗传算法求解动力学参数 已有2人参与

dCAdt =-k(1)*C(1)-k(2)*C(1)-k(3)*C(1);                  
dCBdt =k(1)*C(1)-k(4)*C(2)-k(5)*C(2);
dCCdt =k(2)*C(1)+k(4)*C(2)-k(6)*C(3);
dCDdt =k(3)*C(1)+k(5)*C(2)+k(6)*C(3);
请问怎么用遗传算法求解参数k啊,c的数值都是实验已知的,我用lsqnonlin求解,但是精度比较低。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

飞鸿印雪jay

银虫 (小有名气)


fegg7502: 金币+1, 鼓励交流 2014-06-24 08:37:08
引用回帖:
4楼: Originally posted by 飞鸿印雪jay at 2014-06-23 00:09:40
format long
clear all
clc
tspan = ;
x0 = ;
k0 = ;  
lb = ;
ub = ;

data=;
yexp = data(:,1:4);

=...
lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp);            
ci = nlparci(k,residua ...

我目前是用这个程序算的,但是结果中的置信区间大于参数本身
        k1 = 0.037030991 ± 0.006759768
        k2 = 0.007075182 ± 0.009153909
        k3 = 0.000041516 ± 0.009209723
        k4 = 0.013350201 ± 0.013257063
        k5 = 0.015151332 ± 0.013589322
        k6 = 0.012992896 ± 0.009006184
The sum of the squares is: 5.640933494e-02
这样是不是不符合物理意义呢?这样得到的结果能用吗?
所以才想用遗传算法,据说全局搜索,精度会高。
5楼2014-06-23 00:13:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 3ks 2014-06-24 08:36:44
微分方程拟合问题建议试试1stOpt,论坛有不少类似案例,搜一下。其它数据有的话贴上来看看。
2楼2014-06-22 22:15:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-06-24 08:36:50
可以用GA算个初值,给lsqnonlin函数,这样的初值比较合理。
要是嫌麻烦,直接给出数据,让有高版本的1stopt的虫子跑一下也可以。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2014-06-22 22:37:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

飞鸿印雪jay

银虫 (小有名气)


fegg7502: 金币+1, 鼓励交流 2014-06-24 08:37:01
引用回帖:
2楼: Originally posted by dingd at 2014-06-22 22:15:49
微分方程拟合问题建议试试1stOpt,论坛有不少类似案例,搜一下。其它数据有的话贴上来看看。

format long
clear all
clc
tspan = [0  10  20  30  40  50  60 70  80  90  100  110  120];
x0 = [0.877667262        0.188437508        0.069051676        0.067639913];
k0 = [0  0  0  0  0  0];  
lb = [0  0  0  0  0  0];
ub = [+inf +inf +inf +inf +inf +inf];

data=[
0.683038504        0.34538674        0.138009043        0.135964027
0.398422967        0.413279625        0.203080312        0.189874719
0.266300405        0.468253074        0.289896419        0.348481733
0.142059055        0.397710816        0.305786676        0.424846321
0.068339284        0.34043909        0.335003128        0.497043462
0.049669997        0.312376889        0.351124377        0.609259358
0.025110016        0.237590973        0.335397788        0.723901322
0.012801963        0.197342301        0.32083196        0.736810004
0.005763427        0.156055501        0.306141448        0.834373408
0.002640872        0.10259385        0.238964753        0.755687994
0.001332663        0.091170321        0.248694235        0.903738353
0.004102735        0.066072318        0.220813975        0.917511998
];
yexp = data(:,1:4);

[k,resnorm,residual,exitflag,output,lambda,jacobian] =...
lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp);            
ci = nlparci(k,residual,jacobian);                          
fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')      
fprintf('\tk1 = %.9f ± %.9f\n',k(1),ci(1,2)-k(1))         
fprintf('\tk2 = %.9f ± %.9f\n',k(2),ci(2,2)-k(2))  
fprintf('\tk3 = %.9f ± %.9f\n',k(3),ci(3,2)-k(3))  
fprintf('\tk4 = %.9f ± %.9f\n',k(4),ci(4,2)-k(4))  
fprintf('\tk5 = %.9f ± %.9f\n',k(5),ci(5,2)-k(5))  
fprintf('\tk6 = %.9f ± %.9f\n',k(6),ci(6,2)-k(6))  
%fprintf('\tk7 = %.9f ± %.9f\n',k(7),ci(7,2)-k(7))
%fprintf('\tk8 = %.9f ± %.9f\n',k(8),ci(8,2)-k(8))
%fprintf('\tk9 = %.9f ± %.9f\n',k(9),ci(9,2)-k(9))
%fprintf('\tk10 = %.9f ± %.9f\n',k(10),ci(10,2)-k(10))
fprintf('The sum of the squares is: %.9e\n\n',resnorm)

function f = ObjFunc(k,tspan,x0,yexp)                          
[t, Xsim] = ode45(@KineticsEqs,tspan,x0,[],k);
Xsim1=Xsim(:,1);
Xsim2=Xsim(:,2);
Xsim3=Xsim(:,3);
Xsim4=Xsim(:,4);
%Xsim5=Xsim(:,5);
%Xsim6=Xsim(:,6);
ysim(:,1) = Xsim1(2:end);
ysim(:,2) = Xsim2(2:end);
ysim(:,3) = Xsim3(2:end);
ysim(:,4) = Xsim4(2:end);
%ysim(:,5) = Xsim5(2:end);
%ysim(:,6) = Xsim6(2:end);
size(ysim(:,1));
size(ysim(:,2));
size(ysim(:,3));
size(ysim(:,4));
%size(ysim(:,5));
%size(ysim(:,6));
size(yexp(:,1));
size(yexp(:,2));
size(yexp(:,3));
size(yexp(:,4));
%size(yexp(:,5));
%size(yexp(:,6));
f = [(ysim(:,1)-yexp(:,1)) (ysim(:,2)-yexp(:,2)) (ysim(:,3)-yexp(:,3)) (ysim(:,4)-yexp(:,4)) ];%(ysim(:,5)-yexp(:,5))


function dCdt = KineticsEqs(t,C,k)                             
dCAdt =-k(1)*C(1)-k(2)*C(1)-k(3)*C(1);                       
dCBdt =k(1)*C(1)-k(4)*C(2)-k(5)*C(2);
dCCdt =k(2)*C(1)+k(4)*C(2)-k(6)*C(3);
dCDdt =k(3)*C(1)+k(5)*C(2)+k(6)*C(3);
dCdt = [dCAdt; dCBdt;dCCdt;dCDdt];
4楼2014-06-23 00:09:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 294求调剂 +3 淡然654321 2026-04-15 3/150 2026-04-15 13:13 by Llllss12
[考研] 求调剂 +9 小聂爱学习 2026-04-11 13/650 2026-04-14 19:18 by Art1977
[考研] 材料工程085601,270求调剂 +42 @ASDF1234 2026-04-08 46/2300 2026-04-14 18:12 by 逍遥三郎
[考研] 一志愿中国科学院上海有机所,有机化学356分找调剂 +12 Nadiums 2026-04-09 13/650 2026-04-14 17:54 by lhj2009
[考研] 化工学硕294分,求导师收留 +32 yzyzx 2026-04-12 36/1800 2026-04-14 17:45 by lhj2009
[考研] 366求调剂 +11 不知名的小卅 2026-04-11 11/550 2026-04-14 15:50 by zs92450
[考研] 考研求调剂 +12 子木呐 2026-04-12 13/650 2026-04-14 01:19 by 王珺璞
[考研] 求调剂 +12 璃茉一定上岸 2026-04-10 13/650 2026-04-14 00:08 by Equinoxhua
[考研] 生物学调剂,一志愿西南大学348,Top期刊一区二作、二区三作,三等奖学金三次 +5 candyyyi 2026-04-09 5/250 2026-04-13 09:02 by 可淡不可忘
[考研] +10 李多米lee. 2026-04-12 11/550 2026-04-12 22:58 by yuyin1233
[考研] 一志愿浙大生物325分求调剂 +9 zysheng 2026-04-12 9/450 2026-04-12 22:31 by yuyin1233
[考研] 277 数一104,学硕,求调剂 +21 瓶子PZ 2026-04-09 23/1150 2026-04-11 23:12 by labixiaoqiao
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 0854调剂 +8 950824he@ 2026-04-09 8/400 2026-04-11 10:11 by zhq0425
[考研] 337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 08:57 by zhq0425
[考研] 调剂 化学 307 +21 73372112 2026-04-09 23/1150 2026-04-10 23:53 by wj165256
[考研] 吉大计算机技术331分,英语六级,求调剂 +3 峰峰021116 2026-04-09 3/150 2026-04-10 20:01 by chemisry
[考博] 博士自荐 +7 可可小胖 2026-04-08 7/350 2026-04-10 08:28 by kimhero
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
信息提示
请填处理意见