引用回帖:
bitinging at 2013-03-01 12:24:53
你先把你的部分数据和拟合的模型放上来啊,不然怎么帮你解答。。。。。。。
function KineticsEst5copy2
% 动力学ODE方程模型的参数估计
clear all
clc
k0 = [0.5 0.5 0.5]; % 参数初值
lb = [0 0 0]; % 参数下限
ub = [+inf +inf +inf]; % 参数上限
x0 = [1 0 0]; %原料的起始浓度
KineticsData1ss; %源数据来源文件KineticsData1ss
yexp = ExpData(:,2); % yexp: 实验数据
tspan = [0 3 6 9 12 15 18 21 27 33 39 45 51 60];
%--------------------------------------------------------------------
% 使用函数fmincon()进行参数估计
[k,fval,flag] = fmincon(@ObjFunc4Fmincon,k0,[],[],[],[],lb,ub,[],[],x0,yexp);
fprintf('\n使用函数fmincon()估计得到的参数值为:\n')
fprintf('\tk1 = %.4f\n',k(1))
f