Error in using 'frestimate' for MIMO system
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am using frestimate for finding frequency response function of a non-linear system which has multiple inputs and multiple outputs,
Picture above shows the simulink model, I have selected 1 input (out of 2) and 1 output (output), I get following error after using
[sysest,simout] = frestimate(mdl,getlinio(mdl),in);
Error using frestimate>LocalRunSimulation (line 1165)
State derivatives returned by S-function 'System_Model' in 'Non_Linear_Model_FRF/Validation
Setup/S-Function' during flag=1 call must be a real vector of length 13
Error in frestimate (line 255)
[simout{ctexp},err] = LocalRunSimulation(parammgr,SimulationPackage,ctexp); -
Show complete stack trace
0 Commenti
Risposte (1)
Walter Roberson
il 26 Giu 2020
Your S function Validation Setup has 13 outputs. The model derivatives for it must return 13 values, one for each of those 13 outputs.
It looks to me as if your S function is probably a Level 1 S function that is being passed u and flag and is expected to detect the various flag states to decide what it is doing.
4 Commenti
Walter Roberson
il 26 Giu 2020
After the assignment to sys, add in lines:
assert(length(sys) == 13, 'derivatives are wrong length')
assert(all(isfinite(sys)), 'derivatives are not all finite')
assert(all(imag(sys) == 0), 'derivatives are not all real')
Vedere anche
Categorie
Scopri di più su General Applications in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!