Pre-allocating cell array of anonymous functions

Hi
I would apricate if someone can help me how to pre-allocate a cell array of anonymous functions that is later defined in a for loop. I do not what to run the loop backwards.
The for loop below exemplify what I want to do:
for q=1:q_tot
my_fun_array{q}=@(x)x^q;
end
best regard
Thomas

 Accepted Answer

You can pre-allocate the cell array itself, but the contents will have to be set in the loop itself:
my_fun_array = cell(1,q_tot);
for q=1:q_tot
my_fun_array{q} = @(x)x^q;
end
Just an extra note: if you are planning to allow array inputs, you may want to use .^ instead.

1 Comment

Thomas
Thomas on 25 May 2023
Edited: Thomas on 25 May 2023
Great, thanks!
I whas a bit hasty then I wrote the function in the exemplification.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2022b

Asked:

on 25 May 2023

Edited:

on 25 May 2023

Community Treasure Hunt

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

Start Hunting!