I'm having trouble running a parameter optimization using a Monte Carlo scheme to set random initial guesses

2 ビュー (過去 30 日間)
I am trying to find the optimal parameter values for a set of differential equations using actual data as the reference. This requires solving the equations for each iteration of the optimization solution and mandates interpolation of the forcing signal to obtain values at the times required by ode15s. I try to run 100 trials with initial starting points for the parameters obtained by a Monte Carlo approach, but usually do not get through all 100 due to the process stalling in, I think, interp1.
For most initial starting points, the process runs well, but in 100 replications, often a stall is encountered and no length of time will result in progress. I have determined a set of initial conditions for which a stall can be encountered in a short number of steps using fminsearch, but I do not know how to debug this further. Interp1 is called with every evaluation of the system equations (in reyes.m) like this in the system equation script:
% Generate the interpolated forcing function based upon t for the solver
Juf=interp1(tactual,Jactual,t,'nearest');% using 'linear' does not improve the situation|||
where tactual and Jactual are the data (forcing function) and t is the time value from the ode15s call from the criterion evaluation script (ssqdevvascdata2.m):
% find solution over times tspanuse: fit times or all times
sol = ode15s(@(t,y) reyes(t,y,tactual,Jactual),tspanuse,IC);
where reyes(t,y,tactual,Jactual) is the call to the system equations from the criterion function that will calculate the sum of the squared deviations between the model responses and reference data, tspanuse is the time span over which to solve the system, and IC is the set of initial conditions to use for the solution.
I am using Matlab 2016a.
I would greatly appreciate any advice about how to proceed with debugging this vexing issue.

回答 (0 件)

カテゴリ

Help Center および File ExchangeNonlinear Control についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by