- https://www.mathworks.com/help/matlab/ref/setup.html
- https://www.mathworks.com/help/matlab/matlab_prog/call-sequence.html
- https://www.mathworks.com/help/dsp/ref/cascade.html
Rerunning Setup Method When Using System Objects
2 ビュー (過去 30 日間)
古いコメントを表示
I am using System Objects where some of the properties are initialised in the setupImpl method. The issue is that sometimes on the first iteration some of the System Objects in a cascade receive empty values as an input. As a result setupImpl method can't be run properly. Is there a way to rerun setupImpl method or skip it if the input is empty.
0 件のコメント
回答 (1 件)
Infinite_king
2023 年 10 月 6 日
Hello Leon,
I understand that you would like to execute the 'setupImpl' function on a system object after the initial setup of the object is completed.
You can achieve this by using the 'setup' function as shown below in the following code snippet,
% obj is the system object
% input1, inputN .. are the sample inputs to validate
setup(obj,input1,...,inputN);
The 'setup' function also performs additional validation of input arguments. For a detailed call sequence, please refer to the following link: https://www.mathworks.com/help/matlab/matlab_prog/call-sequence.html#:~:text=Call%20Sequence.-,setup%20Call%20Sequence,-When%20you%20run
The 'setupImpl' function is executed the first time the system object runs. In some cases you can skip 'setupImpl,' by include a bypass statement as follows
function setupImpl(obj)
if obj.StartValue == not_invalid_value
.
.
% Setup operations
.
.
end
end
For more information, please refer the following documentation,
Hope this is helpful.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Create System Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!