Matlab coder, cell arrays and intrinsic functions

조회 수: 5 (최근 30일)
Arwel
Arwel 2017년 4월 28일
Hi,
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();
end
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;
end
end
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
coder.extrinsic('myArrayFn').
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??
Cheers,
Arwel

답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB Coder에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by