我正在尝试解决Yule–Walker equations,以在给定数量的滞后上以给定顺序P
进行自回归过程–象征性地使用Matlab的 Symmbolic Math Toolbox 。 >
等式将滞后k
,rho_k
的自相关与AR过程phi_i
的系数相关,其中i = 1 ... P
和P
是过程。我想为给定rho
的{{1}}解决它们。
我想出了一个似乎可行的实现,但是我不确定这是否是完成此任务的最佳方法,尤其是我迭代构建方程式的方法:
phi
我尝试使用phi = sym('phi', [1 3]);
n = 10;
P = numel(phi);
nLags = max(P + 1, n);
syms eqns
% ρ(0) = 1
syms rho0
eqns(1) = (rho0 == 1);
% ρ(k) = sum_i^P φ_i ρ(|k - i|) for k > 0
rho = [rho0, sym('rho', [1, nLags - 1])];
for k = 1 : nLags - 1
syms summands
for i = 1 : P
summands(i) = phi(i) * rho(abs(k - i) + 1);
end
eqns(k + 1) = (rho(k + 1) == sum(summands));
end
solution = solve(eqns, rho);
代替内部循环,但是发现我不能在符号表达式中使用数字循环变量symsum
。有更好的方法吗?