Fitting with coupled differential equations
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Silke
el 20 de Dic. de 2017
Comentada: Silke
el 21 de Dic. de 2017
Hi there,
I am trying to fit experimental data with a set of coupled differential equations (CDE). At the moment, using these CDEs does not give an error message, but also does not fit my data.
function dCC = DiffEq(t, x);
xdot(1,:) = phi_n - k_1n * x(1) - k_2 * x(1) * x(2);
xdot(2,:) = phi_n - k_1p * x(2) - k_2 * x(2) * x(1);
dCC = xdot;
end
[T,CCx] = ode45(@DiffEq, [t(1): dx : t(end)], [0 0]);
[xfit,resnorm, Jacob, CovB, MSE] = nlinfit( handles.timecorr,handles.datacorr',@DiffEqSolver, handles.x0 );
The problem I am having now, is that in principle the first term of both CDEs should be only non-zero in a certain time window, which is defined by pulses. If I just multiply phi_n with pulses in the first term of the differential equation, I end up with a matrix, which is not allowed in ode45. Is there any way to overcome this issue?
Thank you!
2 comentarios
Torsten
el 20 de Dic. de 2017
Could you include a graphic of "pulses" over time ?
Best wishes
Torsten.
Respuesta aceptada
Torsten
el 20 de Dic. de 2017
So I suspect that "pulses" is an (nx2) array with the first column being "time" and the second column being values between 0 and 1 ?
If this is the case, take a look at the example
"ODE with time-dependent terms"
under
https://de.mathworks.com/help/matlab/ref/ode45.html
It can directly be applied to your ODE-system.
Best wishes
Torsten.
10 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!