我为大小为3的输入向量提供了类似问题的函数文件。您可以尝试运行它。
function neha(limit)
c = zeros(1,3);
for i = 0:limit(3)-1 % same as running it from 1:limit(3)
c(3)=i;
for j = 0:limit(2)-1
c(2)=j;
for k=0:limit(1)-1
c(1)=k;
for x=3:-1:1
fprintf('%d ',c(x))
end
fprintf('\n');
end
end
end
return
现在我的问题是:创建一个"计数器"从0:限制-1。计数器的长度未在程序中确定,应在运行时确定,输入可能彼此不同。这意味着没有给出输入向量大小,它必须适用于1,2或50的任何输入。现在我如何为这个问题创建一个函数文件?帮助请
答案 0 :(得分:0)
我想我明白你的问题...试试这个递归函数
function neha(limit,pointer)
if nargin == 1 %first call
pointer = 1;
end
for i = 1:limit(pointer)
limit_ = limit;
limit_(pointer) = i;
if pointer == length(limit)
fprintf('%d ',limit_-1); %print result
fprintf('\n');
else
neha(limit_,pointer+1); %run recursively
end
end
end
调用neha(limit),你不必指定参数“pointer”。希望有所帮助。