Mor*_*aDM 6 algorithm matlab loops
我想编写一个函数,它接受函数将执行的嵌套循环的数量作为输入.例如,如果输入参数为3,则该函数将执行3个嵌套循环,如下所示:
for i=0:[any]
for j=0:[any]
for k=0:[any]
Run Code Online (Sandbox Code Playgroud)
如果输入参数是2,它将是这样的:
for i=0:[any]
for j=0:[any]
Run Code Online (Sandbox Code Playgroud)
我该如何实现这个算法?
如上所述,这个问题通常可以通过递归来解决。
不知怎的,像这样:
function res = nestedloop_function(numLoops,remainingParams)
res = rec_function(numLoops,[],remainingParams);
end
function res = rec_function(numLoops, loopVars, remainingParams)
if numLoops == 0
res = whatever(loopVars, remainingParams);
return res;
end
for k = 1:[any]
loopVars = [loopVars,k];
res = rec_function(numLoops-1, loopVars, remainingParams);
end
end
Run Code Online (Sandbox Code Playgroud)
如果你不想有传递的开销remainingParams,loopVars你可以考虑将它们声明为global,但通常最好避免这种情况......
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |