Borrar filtros
Borrar filtros

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

4 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Stephen23
Stephen23 el 1 de Abr. de 2024
Editada: Stephen23 el 1 de Abr. de 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);

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Productos


Versión

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by