can't plot using user-defined function block.
1 view (last 30 days)
Show older comments
vishnu kannan
on 21 Feb 2019
Commented: Fangjun Jiang
on 1 Apr 2019
I have a Matlab code to plot a graph. but when I used the same code in Simulink as a user-defined function, I am getting a lot of parellel lines instead of the desired graph in the scope block. does anyone know how to fix this?
2 Comments
madhan ravi
on 21 Feb 2019
Edited: madhan ravi
on 21 Feb 2019
share your model with your user defined function
Accepted Answer
Fangjun Jiang
on 29 Mar 2019
Edited: Fangjun Jiang
on 29 Mar 2019
Keep in mind that this MATLAB Function block is executed at every simulation step you run. Your funciton ouputs 201 values at every step and these values are the same from step to step. That is why your scope shows 201 straight lines.
If you want to plot sin(x). One way to do it is to add a Simulink "Clock" block and connect its output to "u". Inside your function, simply specify it as y=sin(u).
2 Comments
Fangjun Jiang
on 1 Apr 2019
Just remember that in Simulink, there is a "time" element. Everything goes along the simulated "time" once you press the "Run" button.
For the sake of plotting sin(x) in Simulink without time, you could use XY scope.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!