Find variable in Simulink blocks

In a Simulink model 'myModel', I would like to find all blocks that use the variable 'myVariable', even before the variable's value exists in the workspace. The variable appears in several constant blocks, which I want to highlight. But the following approach produces the error below. What am I doing wrong?
Simulink.findVars('myModel', 'Name', 'myVariable')
Model 'myModel' failed to successfully compile, any cached results may be incomplete.
Caused by: Error evaluating expression 't_total' for 'Stop time' specified in the Configuration Parameters dialog for block diagram 'myModel': Undefined function or variable 't_total'.

 采纳的回答

Kaustubha Govind
Kaustubha Govind 2012-3-7

5 个投票

The particular error that you are seeing is about t_total being undefined, but in general, you do need to define all variables being used in the model (including 'myVariable'). Simulink attempts to compile the model (equivalent to Ctrl+D) in the algorithm used to find the variables, and Ctrl+D will fail if you have not defined the required variables.

2 个评论

Thanks. I did have to create all variables in the workspace before being able to find myVariable. Here is how to highlight the blocks containing the variable, in case someone finds it useful:
thisVar = Simulink.findVars('myModel', 'Name', 'myVariable')
hilite_system(thisVar.UsedByBlocks,'find')
And this demo was helpful, http://www.mathworks.com/videos/simulink/find-variables-used-by-a-simulink-model.html
And to turn off highlighting,
hilite_system(thisVar.UsedByBlocks,'none')

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Simulink Functions 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by