How to call a function name from function names saved in an array?

4 visualizzazioni (ultimi 30 giorni)
I have a combination of outputs. For example there is an output [1 0 0]. I have a set of functions saved the names of which I have saved in an array> i want to match the previous output numbers to call the corresponding function. One way I did was that I used sprintf to remove spaces and converted to
prev_output = [1 0 0]
fcs = sprintf('%d', prev_output);
funcs = ['func100';'func110'; 'func010'; 'func001'; 'func011'];
I want to call the function in the format below using some kind of code below
[output] = calledfunction(inputs)
I cannot use ismember function to call the function. Is there any way that this can be done? I will appreciate your help.

Risposta accettata

Stephen23
Stephen23 il 1 Apr 2024
Modificato: Stephen23 il 1 Apr 2024
prev_output = [1,0,0];
fcs = sprintf('func%s',sprintf('%d', prev_output));
Either use FEVAL:
output = feval(fcs,inputs);
or STR2FUNC:
fnh = str2func(fcs);
output = fnh(inputs);

Più risposte (0)

Categorie

Scopri di più su MATLAB Coder in Help Center e File Exchange

Prodotti


Release

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by