To make it clearer, the functions are generated from a script for some symbolic computations using matlabFuntion to generate said functions. This is done within a loop, with each iteration referring to some potential coefficient and potential function, this is why the generated functions are named (essentially as) functionn_k.
Calling functions that have a variable name
조회 수: 7 (최근 30일)
이전 댓글 표시
I have a set of functions that have the general naming scheme of: function%d_%d. They all have the same input and I want to call them within two loops (for example a loop for variable n and another for k, meaning calling for functionn_k). Is it possible to do so and how?
댓글 수: 3
Stephen23
2023년 10월 29일
"...the generated functions are named (essentially as) functionn_k."
How exactly? Are you writing them as function files (Mfiles) or as variables in the workspace or something else?
채택된 답변
Matt J
2023년 10월 27일
편집: Matt J
2023년 10월 27일
Just generate handles to all the functions. Then they can be used freely to make function calls, e.g.,
F=cellfun(@str2func, compose('function%d_%d',(1:3)',1:5), 'uni',0)
for i=2,
for j=3,
y=F{i,j}(5)
end
end
function y=function2_3(x)
y=10*x;
end
추가 답변 (1개)
Catalytic
2023년 10월 27일
이동: Image Analyst
2023년 10월 28일
That sounds like a bad idea. You should probably make a single function where (n,k) are one of the arguments -
function oneFunction(n,k,other_arguments)
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!