- 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!