Running fcn.m file in a block on simulink

5 views (last 30 days)
Hi ! I was wondering wether there was anyway to call a function.m file in simulink, having created the file in Matlab, in a simulation ?
I know the use of the Matlab Function block, but in my particular case, I need to declare some symbolic variables ('syms s t') to use in an inverse Laplace transformation that will give me my output signal.
Therefore, the declaration of my symbolic variable is not supported while generating the C code of the Matlab Function block, that's why i can't use it.
Also I'm trying to find a way without using S-Function block in Simulink if possible !
Cheers

Accepted Answer

Sebastian Castro
Sebastian Castro on 20 Nov 2014
Yael,
If you want this to just run within the MATLAB environment (i.e., you're not generating code from your model), you can do one of two things:
  1. Declare unsupported MATLAB functions as extrinsic using coder.extrinsic. If you scroll down, the documentation link has an example using plotting commands, which are not supported for code generation. You'd have to do to the same for all Symbolic Math Toolbox commands like syms .
  2. If your function inputs and outputs are all of double data type so that you can put them together in a vector, you can also use the Interpreted MATLAB Function block.
The Interpreted MATLAB Function block is probably easier, but I'd recommend using coder.extrinsic if you can.
Best, Sebastian
  1 Comment
yael
yael on 21 Nov 2014
Edited: yael on 21 Nov 2014
Hi Sebastian
I'll try to use 'coder.extrinsic' command To get my simulation. If I get it correct, it will allow simulink to dispatch the code generation to matlab, hence avoiding C-compilation of the non-supported function, right ?
Thanks for the tip I'll keep you posted if it works !
Edit : The coder.extrinsic works just fine, allowing Simulink to run through the code generation properly.
Thanks a lot again for your quick answer. Some other problems have arisen though, but I'll deal with them later, since it's not linked with the code-generation anymore.
Regards, Yael

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder 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!