nlgreyest
Estimate nonlinear grey-box model parameters
Description
Examples
Selectively Estimate Parameters of Nonlinear Grey-Box Model
Load data.
load(fullfile(matlabroot,'toolbox','ident','iddemos','data','twotankdata')); z = iddata(y,u,0.2,'Name','Two tanks');
The data contains 3000 input-output data samples of a two tank system. The input is the voltage applied to a pump, and the output is the liquid level of the lower tank.
Specify file describing the model structure for a two-tank system. The file specifies the state derivatives and model outputs as a function of time, states, inputs, and model parameters.
FileName = 'twotanks_c';
Specify model orders [ny nu nx].
Order = [1 1 2];
Specify initial parameters (Np = 6).
Parameters = {0.5;0.0035;0.019; ...
9.81;0.25;0.016};
Specify initial initial states.
InitialStates = [0;0.1];
Specify as continuous system.
Ts = 0;
Create idnlgrey
model object.
nlgr = idnlgrey(FileName,Order,Parameters,InitialStates,Ts, ... 'Name','Two tanks');
Set some parameters as constant.
nlgr.Parameters(1).Fixed = true; nlgr.Parameters(4).Fixed = true; nlgr.Parameters(5).Fixed = true;
Estimate the model parameters.
nlgr = nlgreyest(z,nlgr);
Estimate a Nonlinear Grey-Box Model Using Specific Options
Create estimation option set for nlgreyest
to view estimation progress, and to set the maximum iteration steps to 50.
opt = nlgreyestOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;
Load data.
load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata')); z = iddata(y,u,0.1,'Name','DC-motor');
The data is from a linear DC motor with one input (voltage), and two outputs (angular position and angular velocity). The structure of the model is specified by dcmotor_m.m
file.
Create a nonlinear grey-box model.
file_name = 'dcmotor_m'; Order = [2 1 2]; Parameters = [1;0.28]; InitialStates = [0;0]; init_sys = idnlgrey(file_name,Order,Parameters,InitialStates,0, ... 'Name','DC-motor');
Estimate the model parameters using the estimation options.
sys = nlgreyest(z,init_sys,opt);
Input Arguments
data
— Time domain data
iddata
object
Time-domain estimation data, specified as an iddata
object.
data
has the same input and output dimensions as
init_sys
.
If you specify the InterSample
property of data
as 'bl'
(band-limited) and the model is continuous-time, the software treats
data as first-order-hold (foh) interpolated for estimation.
options
— Estimation options
nlgreyestOptions
option set
Estimation options for nonlinear grey-box model identification, specified as an nlgreyestOptions
option set.
Output Arguments
sys
— Estimated nonlinear grey-box model
idnlgrey
object
Nonlinear grey-box model with the same structure as init_sys
,
returned as an idnlgrey
object. The parameters of sys
are estimated such that the response of sys
matches the output signal in
the estimation data.
Information about the estimation results and options used is stored in the
Report
property of the model. Report
has the following
fields:
Report Field | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Summary of the model status, which indicates whether the model was created by construction or obtained by estimation. | ||||||||||||||||||
Method | Name of the simulation solver and the search method used during estimation. | ||||||||||||||||||
Fit | Quantitative assessment of the estimation, returned as a structure. See Loss Function and Model Quality Metrics for more information on these quality metrics. The structure has the following fields:
| ||||||||||||||||||
Parameters | Estimated values of the model parameters. Structure with the following fields:
| ||||||||||||||||||
OptionsUsed | Option set used for estimation. If no custom options were configured, this is
a set of default options. See | ||||||||||||||||||
RandState | State of the random number stream at the start of estimation. Empty,
| ||||||||||||||||||
DataUsed | Attributes of the data used for estimation — Structure with the following fields:
| ||||||||||||||||||
Termination | Termination conditions for the iterative search used for prediction error minimization, returned as a structure with the following fields:
For estimation methods that do not require numerical search optimization,
the |
For more information, see Estimation Report.
Extended Capabilities
Automatic Parallel Support
Accelerate code by automatically running computation in parallel using Parallel Computing Toolbox™.
Parallel computing support is available for estimation using the
lsqnonlin
search method (requires Optimization Toolbox™). To enable parallel computing, use nlgreyestOptions
, set SearchMethod
to
'lsqnonlin'
, and set SearchOptions.Advanced.UseParallel
to true
.
For example:
opt = nlgreyestOptions;
opt.SearchMethod = 'lsqnonlin';
opt.SearchOptions.Advanced.UseParallel = true;
Version History
Introduced in R2015a
See Also
idnlgrey
| nlgreyestOptions
| pem
| goodnessOfFit
| aic
| fpe
Beispiel öffnen
Sie haben eine geänderte Version dieses Beispiels. Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)