How do I separate the contents of my MATLAB Function blocks from my SLX file for easier version control?

7 views (last 30 days)
I am using MATLAB Function blocks in my Simulink model to incorporate MATLAB Code. However, the code inside these blocks is saved with the SLX file, meaning it's very difficult for me to track changes to the MATLAB Functions via source control. How can I save the contents of my MATLAB Function block separately from my SLX?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 22 Oct 2020
The most straightforward way to do this is via a nested function call. You can define your MATLAB Function in a separate .m file, and then call that function from the MATLAB Function Block. See the example below:
% In the MATLAB Function Block code 
function y = fcn(u) 
y = foo(u); 
end 
% In a separate M file on the MATLAB Path: 
function z = foo(x) 
z = x^2; 
end 
Another way to achieve this workflow is to use a MATLAB Interpreted Function block, but this block does not support code generation at this time.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!