Constraints on initial condition in system identification

조회 수: 3 (최근 30일)
Sophie Wang
Sophie Wang 2022년 8월 21일
답변: Nithin Kumar 2023년 9월 8일
I'm trying to estimate a dyamic model with nonzero initial condition. The data is one dimensional physiological signal collected from a group of subjects. After experimenting with different models in the system identification toolbox, tfest (distrete time using time domain data) seems to have the best fit.
The assumptions of our proposed dynamic model requires the estimated free response (obtained from the initial condition) to be above zero and below the measurement. I'm wondering if it is possible to add constraints to the estimation of initial condition?

답변 (1개)

Nithin Kumar
Nithin Kumar 2023년 9월 8일
Hi Sophie,
I understand that you want to add constraints on initial conditions to estimate a dynamic model.
To add constraints on the initial condition, use the “tfest” function to create an options object and set the desired constraints. Specifically, you can use the “InitialState” property of the options object to specify the constraints on the initial condition as shown in the following code snippet -
% Create options object and specify constraints
opt = tfestOptions;
opt.InitialCondition = 'Estimate'; % Specify to estimate the initial condition
opt.SearchOptions.InitialCondition = 'Nonzero'; % Specify nonzero initial condition
opt.SearchOptions.InitialConditionLowerBound = 0; % Set lower bound constraint
opt.SearchOptions.InitialConditionUpperBound = max(data); % Set upper bound constraint
% Estimate the model
sys = tfest(data, n, m, opt); % Provide your data, model order (n, m), and options
% Display the estimated model
disp(sys);
For more information regarding "tfest" function, kindly refer to the following documentation:
I hope this provides you with the required information regarding your query.
Regards,
Nithin Kumar.

카테고리

Help CenterFile Exchange에서 Transfer Function Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by