| 查看: 2116 | 回复: 15 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
最优化方法求教!!! 已有1人参与
|
||
|
我的课题要做一个动力学模型,目前打算用集总的方法,建立一个微分方程组,比如 dc1/dt=-k1c1+k2c2 dc2/dt=k1c1-(k2+k3)c2+k4c3 dc3/dt=k3c2-(k4+k5)c3+k6c4 dc4/dt=k5c3-(k6+k7)c4 dc5/dt=k7c4 因为方程之间耦联,不能得到解析解。用bfgs法优化求解参数时,导函数不知道怎么求解。本人小白,没有最优化基础,希望大神能指导一下,怎么求dc/k,或者有没有比较好的不用导函数的优化方法推荐? 发自小木虫Android客户端 |
» 猜你喜欢
投稿chemical physical letters不送审?
已经有2人回复
南开大学物理学院张书辉副教授招收凝聚态物理理论方向博士生、硕士生
已经有22人回复
物理学I论文润色/翻译怎么收费?
已经有104人回复
杂志要求提供official language-editing certificate
已经有4人回复
深圳大学2026年秋博士招生-物理学-活性胶体方向-高永祥课题组
已经有16人回复
论物质与能量的统一模型及物理现象解释
已经有0人回复
基于基元I统一理论的数学相关应用推导
已经有0人回复
基元I统一理论:宇宙本质、层级演化与修炼文明的本源规律
已经有1人回复
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
基于基元I统一理论的量子力学本源推导
已经有0人回复
moyj
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 3331.6
- 散金: 194
- 红花: 2
- 帖子: 313
- 在线: 221.2小时
- 虫号: 1828567
- 注册: 2012-05-21
- 性别: MM
- 专业: 化学工程及工业化学
16楼2017-08-02 10:22:30
huab1984666
新虫 (著名写手)
- 应助: 9 (幼儿园)
- 金币: 241.5
- 散金: 2094
- 红花: 12
- 帖子: 1320
- 在线: 210.3小时
- 虫号: 516828
- 注册: 2008-03-03
- 性别: GG
- 专业: 胶体与界面化学
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
vvaa: 金币+5, ★★★很有帮助 2017-06-28 09:27:15
感谢参与,应助指数 +1
vvaa: 金币+5, ★★★很有帮助 2017-06-28 09:27:15
|
function dy=myfunx(t,y,Parameters) %% k1=Parameters(1); k2=Parameters(2); k3=Parameters(3); k4=Parameters(4); k5=Parameters(5); k6=Parameters(6); k7=Parameters(7); %% dy=zeros(5,1); dy(1)=-k1*y(1)+k2*y(2); dy(2)=k1*y(1)-(k2+k3)*y(2)+k4*y(2); dy(3)=k3*y(2)-(k4+k5)*y(3)+k6*y(4); dy(4)=k5*y(5)-(k6+k7)*y(4); dy(5)=k7*y(4); %%%% function f=Kinetic(beta) global c; global t; Parameters=beta; t0=t(1); tn=t(end); %% options=odeset('RelTol',1e-4;'AbsTol',[1e-4 1e-4 1e-4 1e-4 1e-5]); [tx,cx]=ode15s(@myfunx,[t0 tn],[xx 0 0 0 0],options,Parameters);%%xx是t=0的时候,c的值。 c_x=interp1(tx,cx,t,'spline'); c1=c_x(:,1);c2=c_x(:,2);c3=c_x(:,3);c4=c_x(:,4);c5=c_x(:,5); ce=c1+c2+c3+c4+c5; N=length(t); for i=1:1:N rx(i)=(ce(i)-c(i)).^2; end f=sum(rx); global c; c=[- - - - -];%实验值 global t; t=[- - - - -];实验值 lb=[0 0 0 0 0 0 0]; ub=[2 2 2 2 2 2 2]; options =psoptimset('Display','Iter','MaxIter',2000,'TolFun',1e-8,'CompleteSearch','on'); beta0=[0.7 0.01 0.01 0.0176 0.02 0.03 0.05];%% k1-7初始值 [beta,fval,exitflag,output] = patternsearch(@Kinetic,beta0,[],[],[],[],lb,ub,options ); %% Parameters=beta; t0=t(1); tn=t(end); %% Options=odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-4 1e-4 1e-5]); [tx,cx]=ode15s(@myfunx,[t0 tn],[1 0 0 0 0],Options,Parameters); c_x=interp1(tx,cx,t,'spline'); c1=c_x(:,1);c2=c_x(:,2);c3=c_x(:,3);c4=c_x(:,4);c5=c_x(:,5); ce=c1+c2+c3+c4+c5; plot(t,c,'o');hold on; plot(t,ce,'r-'); |

2楼2017-06-27 20:53:54
huab1984666
新虫 (著名写手)
- 应助: 9 (幼儿园)
- 金币: 241.5
- 散金: 2094
- 红花: 12
- 帖子: 1320
- 在线: 210.3小时
- 虫号: 516828
- 注册: 2008-03-03
- 性别: GG
- 专业: 胶体与界面化学

3楼2017-06-27 21:02:38
4楼2017-06-27 21:57:42













回复此楼