CODE:
function fourlump
clear all
clc
global theta yexp V21 V23 V24 A xx0 M NH x0
k0 = [1.0 5.0 0.5]; % 参数初值
lb = [0 0 0]; % 参数下限
ub = [+inf +inf +inf]; % 参数上限
xx0=[31.423 42.861 6.403 19.315];
M=[93.99229 83.27657 102.8053 116.2428];
NH=[0.2271 0.2271 0.2271 0.0852 0.0852 0.0852 0.1135 0.1135 .1419 0.1419 0.1419 0.1419 0.1703 0.1703 0.1703];
tspan=[0 1];
ExpData= ...
[1 0.002553 0.002189 0.000629 0.001467
2 0.003354 0.000745 0.000684 0.001973
3 0.002758 0.002128 0.000585 0.001336
4 0.003226 0.003156 0.000672 0.001585
5 0.003495 0.002759 0.000707 0.001658
6 0.003105 0.002974 0.000678 0.001677
7 0.003571 0.001938 0.000791 0.001780
8 0.003073 0.002763 0.000675 0.001594
9 0.002857 0.002761 0.000630 0.001569
10 0.003621 0.001888 0.000679 0.001637
11 0.003228 0.002415 0.000629 0.001522
12 0.003121 0.001553 0.000734 0.001877
13 0.002850 0.002348 0.000636 0.001601
14 0.003406 0.001851 0.000648 0.001570
15 0.003142 0.001809 0.000677 0.001687];
yexp=ExpData(:,2:5);
tspan=[0 1];
V21=[0.8837 1.0897 0.9285 0.8446 0.9119 0.8925 0.9612 0.8992 0.8601 0.9473 0.9115 0.9747 0.8795 0.9365 0.9162]';
V23=[0.8853 0.9914 0.8874 0.8228 0.8501 0.8609 0.9220 0.8669 0.8354 0.8654 0.8592 0.9637 0.8455 0.8638 0.9014]';
V24=[0.7570 0.8668 0.7843 0.7332 0.7551 0.7666 0.7936 0.7678 0.7411 0.7644 0.7638 0.8576 0.7503 0.7658 0.8033]';
theta=[166.8411 250.2616 286.0133 155.4816 248.7706 266.5399 169.4721 593.1523 80.9890 377.9487 566.9230 566.9229 180.9717 361.9435 434.3321];
A=[0.1562 0.1562 0.1562 0.0728 0.0728 0.0728 0.0925 0.0925 0.1106 0.1106 0.1106 0.1106 0.1270 0.1270 0.1270]';
yexp=ExpData(:,2:5);
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
lsqnonlin(@ObjFunclump,k0,lb,ub,[],tspan,xx0,x0,theta,V21,V23,V24,yexp)
ci = nlparci(k,resid,jacobian)