MATLAB Function Block - output cannot change
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi All
I am trying to generate different output by using MATLAB Function Block. Below is my code, simulink model and output measure by scope.
function duty = fcn()
duty = 0.5;
pause(1);
duty = 0.1;
pause(1);
end
![simulink model.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/256713/simulink%20model.jpeg)
![scope.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/256714/scope.jpeg)
However, the output of the function block always come from the last value. Anything wrong about my code?
3 Kommentare
Walter Roberson
am 23 Dez. 2019
In Simulink, a MATLAB Function Block can emit outputs only when it returns. The outputs returned can potentially be vectors or arrays, and are not necessarily fixed size.
However, if you return N output values from a single Function Block invocation, how do you want those treated in time? Do you want to queue those N values in a bunch, and release one value per time-step? Do you want to process all N of the values in a group in the same time step? Do you want a series of blocks to suddenly run N times faster so that at the end of the time step for the Function Block, all N of the outputs have been processed one at a time?
Antworten (0)
Siehe auch
Kategorien
Mehr zu Sources finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!