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

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.

 채택된 답변

Stephen23
Stephen23 2024년 4월 1일
편집: Stephen23 2024년 4월 1일
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);

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

릴리스

R2024a

질문:

UH
2024년 4월 1일

댓글:

UH
2024년 4월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by