- Choose an ODE solver (i.e. ode45 or ode15s), then write the update function for the differential equations.
- Write an objective function that takes in the values of the parameters, solves the ODE for those particular values, and then calculates the cost function (such as the difference between the experimental and simulated data) that needs to be minimized.
- Use an optimization function like LSQNONLIN or FMINCON to minimize the objective function.
- Use this link to address potential issues that go along with a numerical optimization routine.
Optimization for non-linear ODE with Constraints for parameters
7 views (last 30 days)
Show older comments
I have a model based on 2 non-linear ODEs solved for the time t to model a predator-prey system. Each ODE contains the solution of both of the other equations. I am trying to find the range of the stable-kept parameters that fits the following conditions:
I have a differential equation for x1,x2 and the parameters
-All parameters must be positive, real numbers
-the solution for the ode of x2 should approach zero (decrease in values).
dxdt = zeros(size(x));
P1=x(1);
C1=x(2);
dxdt(1)=P1*r(1)*(1-(P1/k(1)))-...
C1*((v(1)*(P1^n(1)))/((1+(v(1)*h(1)*(P1^m(1))))))-...
P1*s(1);
xt(1) = dxdt(1);
dxdt(2)=c(1)*C1*((v(1)*(P1^n(1)))/(1+(v(1)*h(1)*(P1^m(1)))))-...
C1*s(2);
xt(2) = dxdt(2);
0 Comments
Answers (1)
Shadaab Siddiqie
on 12 Apr 2021
From my understanding you want to solve non-linear ODE. Here is a workflow to solve it.
3 Comments
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!