You can use an array of cells and a comma separated list , for example:
X = cell(N, 1); [X{:}] = function(C);
The syntax X{:} actually expanded to [X{1}, X{2}, ...] , which provides a valid receiver for your function. As a result, each output variable will be stored in a different cell in X
If each output variable is a scalar, you can smooth the array of cells into a vector using another comma-separated list extension:
v = [X{:}];
source share