Re: problems with the identification if parameters



Under the hood, grey box estimation is basically solving a nonlinear least
squares problem. The considerations that apply in any numerical optimization
problem apply here too: why did estimation stop
(nlgr.EstimationInfo.WhyStop), should you run more iterations, could you try
another solver, could you try some other starting points (etc)?

To verify that your ODE file has no errors, set the parameters of the model
equal to their true values. Then compare the simulated response of the model
to the measured values in data object, as in:

setpar(nlgr, 'Value', {200, 20, 2})
compare(z, nlgr)

The comparison plot should show a 100% fit, provided initial conditions were
the same. What initial conditions were used? Did you assume fixed zero
values (default) or did you estimate them?

Rajiv

"Chris Mal" <kaiptenfrudesa@xxxxxx> wrote in message
news:hgo0ek$p18$1@xxxxxxxxxxxxxxxxxxxxx
Hi all,

i`m having a hard time using the system identification toolbox.

Here is what I have done so far:

1.) I created a grey box model
z=iddata(y',u,delta_t1);

y and u includes input and output of my model. Each vector contains 1000
entries. Delta_ t = 2.731731731731732e-005

Therefore the complete procedure has a timespane of 0.02731 sec.


2.) Set up necessary stuff

FileName='rad_event_2_fnc_m';
Order=[1 1 2];

%Parameters=[200 ; 20 ; 2]; % Right parameters
Parameters=[1 ; 1 ; 1]; InitialStates=[init_state(1);init_state(2)];
Ts=0;

nlgr=idnlgrey(FileName,Order,Parameters,InitialStates,Ts, ...
'Name', 'rad_event_2_fnc_m');

setinit(nlgr, 'Minimum', {0 0} );
setpar(nlgr, 'Minimum', num2cell(eps(0)*ones(3,1)));

nlgr.Parameters(1).Fixed=false; % K
nlgr.Parameters(2).Fixed=false; % D
nlgr.Parameters(3).Fixed=false; % n

getpar(nlgr, 'Fixed');

% ------------ Simulation Settings --------------
nlgr.Algorithm.SimulationOptions.AbsTol=1e-5;
nlgr.Algorithm.SimulationOptions.RelTol=1e-4;
nlgr.Algorithm.SearchMethod='auto';
%nlgr.Algorithm.Criterion='Det';
nlgr.EstimationInfo.Status


3.) Find Parameters

nlgr = pem(z, nlgr, 'Display', 'Full')
getpvec(nlgr)




The algorithm can`t find appropriate values. Even if I start at some
initial condition which are not to bad (10 , 5 , 1) / Real Values are
200,20,2

Can anybody see some errors in my code ? Is the iddata model not good
(long) enough ? If anybody needs more information or more code I`m using,
fell free to ask!


Help is always very appreciated.


.



Relevant Pages

  • Re: Hessian and covariance matrix
    ... >estimation of the covariance matrix of those "parameters". ... squares problem is approximated as 2*J'*J, ... In computing the covariance matrix of the fitted parameters, ...
    (sci.math.num-analysis)
  • Re: Hessian and covariance matrix
    ... >>Hessian matrix. ... >>estimation of the covariance matrix of those ... > squares problem is approximated as 2*J'*J, ...
    (sci.math.num-analysis)