Set parameter of masked subsystem

6 views (last 30 days)
Patrick
Patrick on 12 Jun 2023
Answered: Pratheek on 19 Jun 2023
I've the following problem. I've a masked system (let's call it A) which takes a parameter (parA) which I want to use to compute a variable (var) which will be a parameter (parB) of another masked system (B), which is a subsystem of A. (So in the end I want parB = var).
I've tried to achieve this by computing 'var' in the intialization code of mask A and then setting 'var' as value of 'parB' in mask B. However, when trying to simulate, it gives the error 'Failed to evaluate mask initialization commands.' because the variable 'var' does not exist. I assume this is because it first runs the initialization of mask B, which fails as 'var' is not available as the intialization of maks A has not run yet.
I was wondering if there's a way to get around this issue.

Answers (1)

Pratheek
Pratheek on 19 Jun 2023
Hi Patrick,
This is because the variables are stored in different mask workspaces, so to avoid this problem save the variables(parA) of first subsystem(A) into the base workspace and then load them into the sub system(B) inside it, you can leverage the help of ''assignin" and "evalin" functions
Hope this helps you!

Tags

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!