MATLAB Answers


Parameter estimation using shooting method

Asked by Deepa Maheshvare on 20 Apr 2019
Latest activity Edited by Deepa Maheshvare on 21 Apr 2019
Hi All,
I want to do the following,
I have a set of 20 first order differential equations and I want to estimate some of the parameters . I've the following initial and boundary conditions.
The initial conditions of 20 variables (at t=0)
Boundary values of 20 variables (at time , t = 2000s)
Using shooting method , I want to estimate the values of 10 parameters using least square minimization ,using fmincon. The objective function will
minimize the difference between the target(Boundary values of 20 variables (at time , t = 2000s)) and the values obatined at the end of shoot using ode15s.
I'm not sure how to implement this. Could someone help?
I have a function which solves the 10 differential equation using ode15s, how do I proceed after this step?

  1 Comment

Hi All,
However, I'm not sure how the residual is calculated at the boundary (t=2000s)using the function 'mat4bc' given in the above link.
It is explained that ,
"To calculate the residual values, you need to put the boundary conditions into the form g(x,y)=0. "
Could someone explain how this has to be implemented in my example?
I'm trying the following,
The following function computes the residual,
function residual = LQminimization(initialConditions,tSpan,y_SS)
y0 = initialConditions;
[t,y] = ode15s(@myModel,tSpan,y0);
residual= (y[:,end] - y_SS).^2;
I have reached till this point.I'm not sure how to proceed with estimating parameters from here.
Any suggestions?

Sign in to comment.

0 Answers