| 查看: 2081 | 回复: 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求解,但是精度比较低。 |
» 猜你喜欢
深圳大学2026年秋博士招生-物理学-活性胶体方向-高永祥课题组
已经有18人回复
论物质与能量的统一模型及物理现象解释
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有299人回复
基于基元I统一理论的数学相关应用推导
已经有0人回复
基元I统一理论:宇宙本质、层级演化与修炼文明的本源规律
已经有1人回复
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
基于基元I统一理论的量子力学本源推导
已经有1人回复
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
已经有20人回复
【EI|Scopus 双检索】第六届智能机器人系统国际会议(ISoIRS 2026)
已经有0人回复
2026年第四届电动车与车辆工程国际会议(CEVVE 2026)
已经有0人回复
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
13楼2014-06-27 14:18:08
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
2楼2014-06-22 22:15:49
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68124.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

3楼2014-06-22 22:37:13
飞鸿印雪jay
银虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 340.5
- 散金: 60
- 帖子: 69
- 在线: 60.3小时
- 虫号: 2338094
- 注册: 2013-03-11
- 性别: GG
- 专业: 生物化工与食品化工
★
fegg7502: 金币+1, 鼓励交流 2014-06-24 08:37:01
fegg7502: 金币+1, 鼓励交流 2014-06-24 08:37:01
|
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













回复此楼