1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
function testlsqcurvefit
a0 = [4 11];
xdata = [0; 0.0002; 0.0015; 0.0047; 0.012; 0.028];
ydata1 = [200; 178; 84; 37; 16; 7.5];
ydata2 = [0; 0.11; 0.86; 1.7; 2.4; 3];
C = lsqcurvefit(@ODE, a0, xdata, ydata1)
D = lsqcurvefit(@ODE, a0, xdata, ydata2)
figure(1)
subplot(221)
plot(xdata, ydata1, 'g*', xdata, ODE(C, xdata))
subplot(222)
plot(xdata, ydata2, 'g*', xdata, ODE(D, xdata))
function y = ODE(a0,t)
xdata = [0; 0.0002; 0.0015; 0.0047; 0.012; 0.028];
y0 = [200 0];
[t,y] = ode15s(@deriv,xdata,y0,[],a0);
function dydt = deriv(t,y,a)
dydt = [-a(1)*y(1)*y(1)+a(2)*y(2); -a(1)*y(2)+a(1)*y(1)]; |
Partager