Effacer les filtres
Effacer les filtres

Is it possible to evaluate a variant control expression that contains a value inside a structure array?

2 vues (au cours des 30 derniers jours)
To specify conditions for variant choices of a variant subsystem, I normally use a Simulink.Variant object such as
Simulink.Variant('Dev1SubsystemC_Option==2')
and then define Dev1SubsystemC_Option=1 or =2 or =3 in the workspace.
But because my current model is big and complicated, I need to put all parameters including variant settings within an organized structure. So instead of evaluating Dev1SubsystemC_Option in the base workspace, I tried to use
Simulink.Variant('Device(1).Subsystem_C.Option==2')
Error due to multiple causes.
Caused by:
'Device(1)' is not allowed as the left-hand side of 'Device(1).Subsystem_C' in variant condition expression
'Device(1).Subsystem_C.Option==2'. Only enumerated type names are allowed.
'Device(1).Subsystem_C' is not allowed as the left-hand side of 'Device(1).Subsystem_C.Option' in variant condition
expression 'Device(1).Subsystem_C.Option==2'. Only enumerated type names are allowed.
which gives me errors. I'm not sure why MATLAB doesn't want to accept this Boolean expression. Is there a way to work around this? I'm using MATLAB 2015a.
Thanks
  2 commentaires
JWiesemann
JWiesemann le 3 Août 2016
Still no answer after more tha a year? Maybe "MATLAB Answers" is a misleading name.
Josh Chambers
Josh Chambers le 10 Fév 2017
Modifié(e) : Josh Chambers le 10 Fév 2017
This is a pretty weird and serious limitation that I just ran into. Also, what the heck does it mean "Only enumerated type names are allowed"?? Also, please respond mathworks!
2016a here

Connectez-vous pour commenter.

Réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by