How to change Matlab function block interpretation of inputs?
2 次查看(过去 30 天)
显示 更早的评论
Dear reader,
I have a question in Simulink, regarding MATLAB Function block. In this scheme
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/147838/image.png)
I've put inside the MATLAB Function block the code
y = u;
What I find strange is that when running this file, the Display shows zero whereas I would have expected to see a NaN. How did it get to set this default value? Is there a way to change default interpretation of non-linked (i.e. not connected via black arrow) inputs to MATLAB Function?
Thank you,
0 个评论
回答(1 个)
Sebastian Castro
2015-8-7
By default, when you leave a block's input port unconnected, Simulink assumes a zero (with the right data type and dimensions for the block) is passed in.
If you really want to see a NaN, you can connect a Constant block to the input and set its value to NaN.
I guess the question is, what exactly are you trying to do with this model? If you plan on eventually connecting a periodic signal to the input of the block, then this shouldn't matter. However, if your plan is to implement some kind of "event-based" logic where the initial output is NaN, you could initialize your output to NaN using persistent variables, then overwrite the value as soon as you get a numerical value in from the input port.
- Sebastian
2 个评论
Sebastian Castro
2015-8-11
I don't think you can change that behavior. Why do you need it, though? Maybe there's a different way to think about it which is possible to do with the tool.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!