Effacer les filtres
Effacer les filtres

Matlab coder, cell arrays and intrinsic functions

4 vues (au cours des 30 derniers jours)
Arwel
Arwel le 28 Avr 2017
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

Réponses (0)

Catégories

En savoir plus sur MATLAB Coder dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by