MATLAB Answers

how to fit a Nonlinear model with multiple input and single output by using dataset in matlab

2 views (last 30 days)
Padmapritha T
Padmapritha T on 19 Apr 2020
i have input and output measured data for my system and i have ODE model equations which is bilinear and it has 11 states.
i want to fit the model with the measured data and i have to estimate the parmeters of that model, can anyone kindly help me to solve this problem. Thanks in advance.

  0 Comments

Sign in to comment.

Answers (1)

Thiago Henrique Gomes Lobato
Without your data nor any code is difficult to specifically help you. Still, a general thing you may do, if you already have the model, is to simply optimize the parameters. An way to do it is:
Par0 = InitialParameters;
[Par,fval] = fminsearch(@(Par)Error(Par,Input,Output),Par0)
function e = Error(Par,Input,Output)
ModelOuput = YourModel(Par,Input);
e = rms(ModelOutput-Output);
end
Just substitute the variables/functions accordingly.

  2 Comments

Padmapritha T
Padmapritha T on 19 Apr 2020
Thank you for your reply sir,
i did this by the following code in matlab.
but the FPE was very high, is there any possibility to reduce the FPE.
data = iddata(Glu,input,Ts);
data.Tstart = 0;
data.TimeUnit = 's';
nx = 11;
in_sys = n4sid(data,nx,'Ts',900);
sys = pem(data,in_sys);
copmare(data, sys);
where Glu is my measured output data and my system has 2 inputs.

Sign in to comment.