MATLAB中向量的递归追加

MATLAB中向量的递归追加,matlab,recursion,Matlab,Recursion,我正在做一个赋值,其中必须找到区间[a,b]中三对角对称矩阵的特征值数目。我需要使用二分法来找到这些特征值,并且它们必须以向量E的形式输出。函数是函数[E]=二分法(a,a,b,tol)tol是可接受的误差范围 % If tolerance is met, add (a + b)/2 to E as many times as there are % eigenvalues left in [a,b). This is the recursive stopping criterium. if(b

我正在做一个赋值,其中必须找到区间[a,b]中三对角对称矩阵的特征值数目。我需要使用二分法来找到这些特征值,并且它们必须以向量E的形式输出。函数是函数[E]=二分法(a,a,b,tol)tol是可接受的误差范围

% If tolerance is met, add (a + b)/2 to E as many times as there are
% eigenvalues left in [a,b). This is the recursive stopping criterium.
if(b - a < tol)
    for i = 1:n
        E = [E; (a + b)/2];
    end
end

% If there are eigenvalues left in [a,b), add new eigenvalues to E through
% recursion.
if(n > 0)
    E = [E; bisection(A, a, (a+b)/2, tol); bisection(A, (a+b)/2, b, tol)];
end

E = [];

我已经生成了一个空向量E,我显然无法将其放入函数中。那么有没有方法递归展开向量?

如果无法将空的起始向量放入函数中,则应将其作为输入参数传递

这是顶层代码的外观,例如:

E = [];
E = myRecursiveFunction(E,inputs,stoppingCriteria)

您正在尝试收集一个带有结果的未知E。请尝试用零或零初始化E。谢谢。我假设Matlab会使用该变量,即使它没有作为参数传递。
E = [];
E = myRecursiveFunction(E,inputs,stoppingCriteria)