| 查看: 812 | 回复: 9 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
求Matlab指导 已有2人参与
|
||
| 为什么有时候Matlab给初值后有时计算快有时计算很慢,一直busy状态?是出现死循环还是程序有问题?请求帮忙。 |
» 猜你喜欢
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有272人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求教一段matlab的代码
已经有5人回复
求Matlab高手指导
已经有12人回复
[求助]有哪位大神搞大数据么?求指导!
已经有11人回复
急,求指导matlab低通滤波器
已经有3人回复
Matlab中的fmincon功能求助
已经有16人回复
求解相算法的相关matlab程序块
已经有3人回复
exceed10安装不上,求大神指导!!
已经有5人回复
求窗口傅里叶变换的matlab程序
已经有6人回复
求大神用matlab给我处理一组数据,有人没有啊?
已经有15人回复
数学二。线代。。辅导书。。求指导。。
已经有15人回复
关于matlab进行傅里叶变换和逆变换的程序,求大神指导!
已经有9人回复
学习matlab算法编程,推荐一些有用的资料或者书籍吧
已经有21人回复
求高人指导六碳炔醇的合成(溴乙炔镁格式试剂的制备)
已经有13人回复
这个式子的传递函数怎么求,请各位指导一下
已经有6人回复
matlab编写归一化和反归一化程序
已经有5人回复
求高人指导,如何计算协方差?
已经有3人回复
戴钢盔的猪头
木虫 (知名作家)
- 应助: 200 (高中生)
- 金币: 5083.9
- 散金: 1310
- 红花: 18
- 帖子: 6001
- 在线: 319.9小时
- 虫号: 2854040
- 注册: 2013-12-07
- 性别: GG
- 专业: 波谱分析与成像分析
9楼2014-12-07 15:07:23
戴钢盔的猪头
木虫 (知名作家)
- 应助: 200 (高中生)
- 金币: 5083.9
- 散金: 1310
- 红花: 18
- 帖子: 6001
- 在线: 319.9小时
- 虫号: 2854040
- 注册: 2013-12-07
- 性别: GG
- 专业: 波谱分析与成像分析
2楼2014-12-06 22:01:04
yongcailiu
金虫 (小有名气)
- 应助: 63 (初中生)
- 金币: 2283.9
- 红花: 10
- 帖子: 181
- 在线: 250.4小时
- 虫号: 1406563
- 注册: 2011-09-18
- 性别: GG
- 专业: 计算数学与科学工程计算
3楼2014-12-07 09:09:11
|
谢谢您的指导,我现在就是初值选取有困难,很多时候都是自己尝试,但是计算的结果不好,所得到参数的置信区间很大,请问您有好的建议吗?下面是我做动力学参数所编程的代码。可以帮我看一下有没有问题吗? function DMMwan180 clear all clc k0 = [1 1 1 1 3 1 1 1 0.3 0.007]; lb = [0 0 0 0 0 0 0 0 0 0]; ub = [inf inf inf inf inf inf inf inf inf inf]; P0 =[0.015481 4.644213 0.340306 0 0 0; 0.015481 4.644213 0.340306 0 0 0; 0.018316 4.579047 0.402637 0 0 0; 0.022423 4.484655 0.492922 0 0 0; 0.018316 4.579047 0.402637 0 0 0; 0.022423 4.484655 0.492922 0 0 0; 0.040656 4.065616 0.893728 0 0 0; 0.015481 4.644213 0.340306 0 0 0; 0.015481 4.644213 0.340306 0 0 0; 0.018316 4.579047 0.402637 0 0 0; 0.022423 4.484655 0.492922 0 0 0; 0.040656 4.065616 0.893728 0 0 0 ]; % 初始分压,MPa Pi=[0.0000439 4.6409577 0.3473380 0.0001568 0.0058211 0.0056825; 0.0000709 4.6414433 0.3484888 0.0003922 0.0067384 0.0028664; 0.0000841 4.5751124 0.4132686 0.0005222 0.0086355 0.0023772; 0.0002438 4.4758947 0.5083807 0.0014471 0.0118155 0.0022182; 0.0003697 4.5710387 0.4156405 0.0020687 0.0094840 0.0013984; 0.0009699 4.4759239 0.5083459 0.0032029 0.0100967 0.0014606; 0.0036297 4.0578876 0.9185219 0.0065201 0.0116013 0.0018393; 0.0001993 4.6368235 0.3512604 0.0010305 0.0088804 0.0018058; 0.0009229 4.6361031 0.3516653 0.0023232 0.0080420 0.0009435; 0.0015467 4.5720515 0.4148248 0.0039501 0.0068821 0.0007448; 0.0036621 4.4734942 0.5082864 0.0048581 0.0086486 0.0010507; 0.0087555 4.0513963 0.9187905 0.0087188 0.0105949 0.0017440 ]; % 经过Wc/F0后,各物质分压,MPa % 使用函数lsqnonlin()进行参数估计 opt=optimset('Algorithm','levenberg-marquardt'); [k,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@ObjFunc,k0,[],[],opt,P0,Pi); ci = nlparci(k,residual,jacobian); fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n') fprintf('\tk1 = %.4f ± %.4f\n',k(1),ci(1,2)-k(1)) fprintf('\tk2 = %.4f ± %.4f\n',k(2),ci(2,2)-k(2)) fprintf('\tk3 = %.4f ± %.4f\n',k(3),ci(3,2)-k(3)) fprintf('\tk4 = %.4f ± %.4f\n',k(4),ci(4,2)-k(4)) fprintf('\tk5 = %.4f ± %.4f\n',k(5),ci(5,2)-k(5)) fprintf('\tk6 = %.4f ± %.4f\n',k(6),ci(6,2)-k(6)) fprintf('\tk7 = %.4f ± %.4f\n',k(7),ci(7,2)-k(7)) fprintf('\tk8 = %.4f ± %.4f\n',k(8),ci(8,2)-k(8)) fprintf('\tk9 = %.4f ± %.4f\n',k(9),ci(9,2)-k(9)) fprintf('\tk10 = %.4f ± %.4f\n',k(10),ci(10,2)-k(10)) fprintf('\t残差平方和 = %.4f\n',resnorm) fprintf('\texitflag = %.4f\n',exitflag) fprintf('\tresidual = %.4f\n',residual) % ------------------------------------------------------------------ function f = ObjFunc(k,P0,Pi) % 目标函数 [m,n] = size(P0); Pcal = zeros(m,n); tspan = [0 2.05; 0 1.37; 0 1.62; 0 1.98; 0 1.21; 0 1.49; 0 2.70; 0 1.02; 0 0.82; 0 0.97; 0 1.19; 0 2.16 ]; % 即Wc/F0,g.h/mol for i = 1:m [t PP] = ode45(@Euqations,tspan(i, ,P0(i, ,[],k);Pcal(i, = PP(end, ;end f= Pcal-Pi; % ------------------------------------------------------------------ function dPdt = Euqations(t, P, k) % here t = Wc / F0 denom = 1+k(4)*P(1)+k(5)*P(3)+k(6)*P(4)+k(7)*P(5)+k(8)*P(6); % k(4) = KDMM,k(5) = KME ,k(6)=KHPM,k(7)=KPDO,k(8)=KNPA,k(9)=Kp1,k(10)=Kp2 theA =k(4)*(P(1)*P(2)-P(4)*P(3)/k(9)*P(2)) / denom^2; theB =k(6)*( P(4)*P(2)-P(5)*P(3)/k(10)*P(2))/ denom^2; theC =k(7)*P(5)*P(2)/denom^2; r1 = k(1)*theA; r2 = k(2)*theB; r3 = k(3)*theC; dPDMMdt = -r1; dPHdt = -2*r1-2*r2-r3; dPMEdt = r1+r2; dPHPMdt = r1-r2; dPPDOdt = r2-r3; dPNPAdt = r3; dPdt = [dPDMMdt;dPHdt;dPMEdt;dPHPMdt;dPPDOdt;dPNPAdt]; |
4楼2014-12-07 10:36:02













回复此楼
,P0(i,