Stateflow graphical function won't take variables in ml expression
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I'm trying to construct a graphical function x=choosefrom(y), with x and y integers, which should return a random integer x, 1<x<=y. I thought it was simple: just create one transition with condition {x=ml('randi(y,1,1)')}. But executing the statechart that uses this function results in an error message "eval of matlab expression randi(y,1,1) didn't return anything (#358) While executing: Transition Guarding Condition."
However, it does work as intended if I create multiple transitions [y==2]{x=ml('randi(2,1,1)')}, [y==3]{x=ml('randi(3,1,1)')}, etc., out of the first junction. But this way, I am limited to a predefined range for y with separate transitions for each value of y, which is impractical.
Thus, it seems I cannot use variables as arguments for randi. This limitation seems to be specific for graphical functions - it doesn't apply to using randi in Stateflow actions anywhere else in the statechart. Why is this, and how could I resolve it?
0 comentarios
Respuesta aceptada
Más respuestas (0)
Ver también
Categorías
Más información sobre Complex Logic en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!