在Matlab中迭代建立符号方程

时间:2018-12-02 19:02:44

标签: matlab symbolic-math

我正在尝试解决Yule–Walker equations,以在给定数量的滞后上以给定顺序P进行自回归过程–象征性地使用Matlab的 Symmbolic Math Toolbox 。 >

等式将滞后krho_k的自相关与AR过程phi_i的系数相关,其中i = 1 ... PP是过程。我想为给定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。有更好的方法吗?

0 个答案:

没有答案