Cholesky排名第1更新

时间:2013-12-03 23:56:55

标签: matlab matrix linear-algebra

我正在尝试使用平方根UKF方法进行参数估计。我的问题在于MATLAB cholupdate

为了在SR-UKF中使用等级1的Cholesky因子,您需要计算 cholupdate {S,u,+ - v},但MATLAB代码cholupdate只是接受1为v。如 cholupdate {S,u,+ - 1}。

以前有人遇到过这个问题吗?

This is the paper我正在使用SRF UKF。

2 个答案:

答案 0 :(得分:3)

cholupdate(R,X,v)的第三个输入是单个字符('+''-'),表示A + X*X'A - X*X'(更新或降级)。如果您希望v通过X扩展A + v*X*X',则必须将其构建为X

>> A = pascal(4)
>> R = chol(A)
>> x = [0 0 0 1].'; %' update
>> v = 1.2
>> xs = sqrt(v)*x;
>> isequal(A + xs*xs.',A + s*(x*x.'))
ans =
     1

然后您可以使用cholupdate(R,xs,'+')

答案 1 :(得分:0)

最后一行v是相等的:

A = pascal(4)

R = chol(A)

x = [0 0 0 1].'%' update

v = 1.2

xs = sqrt(v)*x

ss=isequal(A + xs*xs.',A + v*(x*x.'))