可以使用以下代码递归地查找向量中的最小元素:
function minVal = findMin(vec)
if length(vec) == 1
minVal = vec(1);
elseif length(vec) == 2
minVal = min(vec);
else
minRest = findMin(vec(2:end));
if vec(1) < minRest
minVal = vec(1);
else
minVal = minRest;
end
end
end
此函数采用向量作为输入参数,并使用长度和最小值函数查找向量中的最小值。在递归过程中,每次检查向量是否只剩下一个元素。如果是,在此处返回元素的值。否则,函数会继续查找向量的其余部分的最小值,并将其与当前元素进行比较,以找到最小值。
可以通过调用此函数并将向量作为输入参数来测试代码,如下所示:
vec = [5, 3, 8, 1, 9, 2];
minVal = findMin(vec);
disp(minVal);
输出结果应该为 1。