How to poprely implement a matlab function in simulink

1 次查看(过去 30 天)
Hello,
In sumulink, I am trying to create FFT output in two ways: with built-in simulink blocks, and with a Matlab function block (Simulink model attached). While biult-in blocks give a fine output, the function block is creating something I don't understand(also attached), what should I do for the function block to work fine(I need a function block for a much more complicated function later)?
The function code is as follows: function f = fun1(x) f = abs(fft(x)); end

采纳的回答

Zoe Xiao
Zoe Xiao 2017-8-3
There is no 'unbuffer' functions in your MATLAB function. So the data on your plot contain fft results calculated at each sample times. You could plot any column corresponding to the simulation time between 150sec and 250sec, which will give you a meaningful spectrum. Or simply add 'unbuffer' block as you did on the other path.
If you still see the unmatching results after you include 'unbuffer' block, please contact the MathWorks technical support.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by