Specify Global Cell Arrays at the Command Line
To specify global cell array inputs, use the -globals
option
of the codegen
command with this syntax:
codegen myfunction -globals {global_var, {type_object, initial_value}}
For example:
To specify that the global variable
g
is a 1x3 cell array whose elements have class double and whose initial value is{1 2 3}
, use:codegen myfunction -globals {'g', {coder.typeof({1 1 1}), {1 2 3}}}
Alternatively, use:
t = coder.typeof({1 1 1}); codegen myfunction -globals {'g', {t, {1 2 3}}}
The global variable
g
is a 1x3 homogeneous cell array whose elements are 1x1 double.To make
g
heterogeneous, use:t = makeHeterogeneous(coder.typeof({1 1 1})); codegen myfunction -globals {'g', {t, {1 2 3}}}
To specify that
g
is a cell array whose first element has type char, whose second element has type double, and whose initial value is{'a', 1}
, use:codegen myfunction -globals {'g', {coder.typeof({'a', 1}), {'a', 1}}}
The global variable
g
is a 1x2 heterogeneous cell array whose first element is 1x1 char and whose second element is 1x1 double.To specify that
g
is a cell array whose first element has type double, whose second element is a 1x2 double array, and whose initial value is{1 [2 3]}
, use:codegen myfunction -globals {'g',{coder.typeof({1 [2 3]}),{1 [2 3]}}}
Alternatively, use:
t = coder.typeof({1 [2 3]}); codegen myfunction -globals {'g', {t, {1 [2 3]}}}
The global variable
g
is a 1x2 heterogeneous cell array whose first element is 1x1 double and whose second element is 1x2 double.
Global variables that are cell arrays cannot have variable size.