Generate Code for MATLAB Handle Classes and System Objects - MATLAB & Simulink (original) (raw)
Main Content
This example shows how to generate code for a user-defined System objectâ„¢ and then view the generated code in the code generation report.
- In a writable folder, create a System object,
AddOne
, which subclasses frommatlab.System
. Save the code asAddOne.m
.
classdef AddOne < matlab.System
% ADDONE Compute an output value that increments the input by one
methods (Access=protected)
% stepImpl method is called by the step method
function y = stepImpl(~,x)
y = x+1;
end
end
end - Write a function that uses this System object.
function y = testAddOne(x)
%#codegen
p = AddOne();
y = p.step(x);
end - Generate a MEX function for this code.
codegen -report testAddOne -args {0}
The-report
option instructscodegen
to generate a code generation report, even if no errors or warnings occur. The-args
option specifies that thetestAddOne
function takes one scalar double input. - Click the View report link.
- In the MATLAB Source pane, click
testAddOne
. To see information about the variables intestAddOne
, click theVariables tab. - To view the class definition for
addOne
, in the MATLAB Source pane, clickAddOne
.