simulink mask text cannot access matlab workspace
4 次查看(过去 30 天)
显示 更早的评论
Hi, in mask editor's Icon & Ports, I tried using the text drawing command to display a string that is in my workspace. Simulink is giving me an error for that. What am I doing wrong? Amish
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156320/image.jpeg)
0 个评论
采纳的回答
Sebastian Castro
2016-3-1
Masks, by design, have their own separate workspace so there is no conflict between internal variables to a block and anything you do outside of that. So, you cannot directly read from the MATLAB base workspace.
The first question I would ask myself is: Why does that text need to exist in the base workspace? This can affect the robustness of your mask display code because anyone (or anything) could overwrite or delete that text and break your block. Please consider avoiding the base workspace for that reason.
If you're doing something where several blocks need to "share" this variable, then the base workspace becomes more of a viable option to temporarily store a variable. If so, you can use the evalin function to pick an expression from the base workspace and use it in your mask's "Initialization" tab.
revString = evalin('base','revString')
Once you do that, you have a variable called revString also in the mask, which pulls from whatever the expression revString evaluated to in the base workspace.
- Sebastian
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Author Block Masks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!