Filter löschen
Filter löschen

can't plot using user-defined function block.

1 Ansicht (letzte 30 Tage)
vishnu kannan
vishnu kannan am 21 Feb. 2019
Kommentiert: Fangjun Jiang am 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 Kommentare
madhan ravi
madhan ravi am 21 Feb. 2019
Bearbeitet: madhan ravi am 21 Feb. 2019
share your model with your user defined function
vishnu kannan
vishnu kannan am 29 Mär. 2019
SIMULINK ERROR.png
The above shown figure is my problem.
the matlab code in the user-defined function is " y=sin(x) ". but i get this plot instead of a sin wave. i have attached the code. this error is equivalent to the original error i am facing in my project.
i added an input in user-defined-function (u). but i am not using it. no input is needed from simulink, i only want to execute the .m file in userdefined function and display the output in the scope.
is there any way to correct this?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 29 Mär. 2019
Bearbeitet: Fangjun Jiang am 29 Mär. 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 Kommentare
vishnu kannan
vishnu kannan am 30 Mär. 2019
i want to execute the matlab code inside the user-defined function and plot using scope. my original code is very complex thats why i choose the simple code y=sin(x) to demonstrate my error.
is there any other way ?
Fangjun Jiang
Fangjun Jiang am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by