| 查看: 791 | 回复: 1 | ||
| 【悬赏金币】回答本帖问题,作者szy242424将赠送您 15 个金币 | ||
[求助]
1stop能模拟优化12个参数吗,下面是我的matlab的程序,怎么用1stop优化已有1人参与
|
||
|
function kk format long e k0=[230,0.3,50,0.3,1.2,0.001,0.1,0.001,0.1,0.001,0.1,0.1]; lb=[230,0.3,50,0.3,1.2,0.001,0.1,0.001,0.1,0.001,0.1,0.1]; ub =[300,1,100,3,10.4, 1.2,2.4,1.2,0.8, 0.1,4.5,4.5]; data=... [0 34.2775 0 0 0.562205354 6 33.9805 0 0 0.618817941 12 31.941 0 0 0.797936454 18 28.739 0.9935 0 1.554008384 24 26.3835 1.3815 0 2.141789344 30 23.8955 1.5745 1.4795 2.543955264 36 21.334 1.908 1.7625 3.017273616 42 19.128 2.9885 2.038 3.295696176 60 11.2065 4.693 3.262 3.274041088 66 8.9005 5.1295 3.581 3.4070652 72 6.4395 5.6395 4.041 3.753546608 84 1.496 6.6735 4.71 3.595773824]; x0=data(1,2:end); tspan=data(:,1); yexp = [data(2:end,2) data(2:end,3) data(2:end,4) data(2:end,5)]; [k,resnorm,residual,nlparci,jacobian] =lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp); ts=[0,84]; [ts ,ys] = ode23s(@KineticsEqs,ts,x0,[],k); yy = [data(:,2) data(:,3) data(:,4) data(:,5)]; plot(ts,ys(:,1),'b',tspan,yy(:,1),'bo'); hold on plot(ts,ys(:,2),'r',tspan,yy(:,2),'r*'); plot(ts,ys(:,3),'k',tspan,yy(:,3),'k+'); plot(ts,ys(:,4),'g',tspan,yy(:,4),'g+'); legend('C1的计算值','C1的实验值','C2的计算值','C2的实验值','C3的计算值','C3的实验值','C4的计算值','C4的实验值') end function dCdt = KineticsEqs(t ,C,k) % ODE模型方程,C为浓度,k为微分方程中的系数,t为导数 dC1dt =0.19*C(4)/(C(4)+0.78+C(4)^2/300.8)*(1-C(2)/k(1))^k(2)*(1-C(3)/k(3))^k(4)*C(1);%第一个微分方程,等号前面是C(1)对t的微分 dC2dt =k(5)*dC1dt+k(6)*C(1);%第二个微分方程,等号前面是C(2)对t的微分 dC3dt =k(7)*dC1dt+k(8)*C(1);%第三个微分方程,等号前面是C(3)对t的微分 dC4dt =-(1/k(9)*dC1dt+k(10)*C(1)+1/k(11)*dC2dt+1/k(12)*dC3dt);%第四个微分方程,等号前面是C(4)对t的微分 dCdt = [dC1dt; dC2dt;dC3dt;dC4dt];%微分方程组 function f = ObjFunc(k0,tspan,x0,yexp) % 目标函数 [t, Xsim] = ode23s(@KineticsEqs,tspan,x0,[],k0);% 求解常微分方程,其中tspan为t的取值点,x0为微分方程组的初始值,k为微分方程的系数,返回t为微分方程组解的取值点,Xsim为微分方程组的解 Xsim1=Xsim(:,1);%提取Xsim的第一列 Xsim2=Xsim(:,2);%提取Xsim的第二列 Xsim3=Xsim(:,3);%提取Xsim的第三列 Xsim4=Xsim(:,4);%提取Xsim的第四列 ysim(:,1) = Xsim1(2:end);%微分方程的第一个变量,从第二个解到最后一个解赋值给ysim的第一列 ysim(:,2) = Xsim2(2:end);%微分方程的第二个变量,从第二个解到最后一个解赋值给ysim的第二列 ysim(:,3) = Xsim3(2:end);%微分方程的第三个变量,从第二个解到最后一个解赋值给ysim的第三列 ysim(:,4) = Xsim4(2:end);%微分方程的第四个变量,从第二个解到最后一个解赋值给ysim的第四列 f = [(ysim(:,1)-yexp(:,1)) (ysim(:,2)-yexp(:,2)) (ysim(:,3)-yexp(:,3)) (ysim(:,4)-yexp(:,4))];%形成目标优化函数 |
» 猜你喜欢
求取一些关于纳米材料和纳米技术相关的英文PPT。
已经有0人回复
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有190人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有22人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
26申博推荐:南京航空航天大学国际前沿科学研究院光学方向招收博士生!
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31014.8
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 855.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟

2楼2020-12-08 19:45:28













回复此楼