MATLAB: Function call use in an Embedded MATLAB Function block

embedded matlab function blockfunction call

Hello,
I have two questions about the use of function call outputs of an EMF block :
Question 1
I would like to know why I can not use a Demux block after a Function Call Output of an Embedded MATLAB Function block. This error appears in the Simulink window :
For the « Matlab Embedded Function » bloc : " Error in port widths or dimensions. Output port 1 of 'F_Call/Emb_Sdl' is a one dimensional vector with 1 elements. "
For the « Demux » block: " Invalid setting for input port dimensions of 'F_Call/Demux1'. The dimensions are being set to 1. This is not valid because the total number of input and output elements are not the same. " "
So is it possible to specify Dimension and/or Width of a Function Call Output port and how to do that ?
Question 2
If the EMF block have several Function Call Outputs (for example : Port_A; Port_B; Port_C), does the order of the ports (their placement) will impact the order of execution ?
If it's not clear do not hesitate to ask me more details.
Thanks

Best Answer

  1. I don't think the Demux block works with function-call signals. Try the Function-Call Split block instead.
  2. I've only just heard about generating function-calls with the MATLAB Function block, so I don't know the answer to that question, but I'd say to try it out with some simple blocks and see if the behavior makes sense. :)