Clear Filters
Clear Filters

Matlab coder, cell arrays and intrinsic functions

5 views (last 30 days)
I am trying to use Matlab coder to generate some C, where a cell array of variable size is populated with arrays of doubles. The sizes of the double arrays and the number of cells vary. The following bits of code show a very simple example of the type of thing I'm doing.
The array function that populates the cells is as follows...
function out = myArrayCallFun(numberOfCells)
myCells = cell(1,numberOfCells);
for i = 1:numberOfCells
myCells{i} = myArrayFn();
out = myCells;
This calls a separate subfunction 'myArrayFun' as follows...
function out = myArrayFn()
out = zeros(floor(rand*10),1);
for i = 1:length(out)
out(i) = rand;
I've made 'myArrayFn' to show that the size of the array is not known at build time. This is called with a 'main' as follows...
numberOfCells = 5;
out = myArrayCallFun(numberOfCells)
This all works just fine with coder. However, in the real thing, myArrayFun is actually a Matlab function supplied at run time by the user in order to provide scripting capability, and what I have been trying to do is to make this extrinsic. So the first line of myArrayCallFun becomes
When I try to compile this, I get an error
Code generation does not support mxArrays inside cell arrays.
Is there a possible workaround that I can use here??

Answers (0)


Find more on MATLAB Coder in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!