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
21 次查看(过去 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!