Why the interpreted MATLAB function block is giving a different result from the Fcn block ?????

6 views (last 30 days)
Hi everyone,
I used the same mathematical expression to perform a calculation using the interpreted MATLAB function block and the Fcn block.
As you will see in the model, which is attached to this question, the two results are completely different.
Can someone give me an explanation to this ? Which is the correct one of the two results ?.
Thank you very much in advance.

Accepted Answer

Swarooph
Swarooph on 9 Sep 2016
When I run your model, I get 2 warnings as follows:
You can see that the outputs of the functions are complex. Fcn block as far as I know doesn't support complex input/output signals (only real numbers). Although I have to say the documentation doesn't explicitly say that. the interpreted Matlab function does allow for output to be complex. You can set that using the Output signal type option discussed here .
  1 Comment
kamal kiki
kamal kiki on 9 Sep 2016
I took your advice and I have changed the type of the signal output to complex in the interpreted Matlab function block. Now the result given by the interpreted Matlab function is a complex number of which the imaginary part is the absolute value of the result given by the Fcn block.
Thank you very much Swarooph.

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!