当前位置:网站首页>KF UD分解之伪代码实现进阶篇【2】
KF UD分解之伪代码实现进阶篇【2】
2022-07-06 09:18:00 【Proletarians】
废话不多说,直接上伪代码,matlab版,易于阅读。
基于UD的KF分为两部分:
第一部分实现对残差和v的更新;
第二部分实现对D\U\b三部分的更新。
%% 基于UD分解的KF仿真代码
% ------ Part One Start ------
% 这部分实现 J>1 残差计算和v的更新
for J=n:-1:2
z=z-a(J)*x(J); % residual=delta_z
for K=1:J-1
a(J)=a(J)+U(K,J)*a(K); % f=U^T*a, 赋值后的a(J)就是f
end
v(J)=U(J,J)*a(J);% vi=di*fi
end
% 这部分实现 J=1 残差计算和v的更新
z=z-a(1)*x(1);
v(1)=U(1,1)*a(1);
% ------ Part One Last ------
% ------ Part Two Start------
% 这部分实现 J=1 矩阵D、矩阵U、未加权的KF增益b三部分更新
alpha=r+v(1)*a(1);
gamma=1.0/alpha;
U(1,1)=U(1,1)*r*gamma;
b(1)=v(1);
% 这部分实现 J>1 矩阵D、矩阵U、未加权的KF增益b三部分更新
for J=2:N
beta=alpha; % 将alpha(J-1)代入
alpha=alpha+v(J)*a(J); % 更新alpha(J)
p=-a(J)*gamma; % 将gamma(J-1)代入
gamma=1.0/alpha; % 更新gamma(J)
U(J,J)=U(J,J)*beta*gamma; % 更新D
b(J)=v(J);
for I=1:J-1
beta=U(I,J);
U(I,J)=beta+b(I)*p; % 更新U
b(I)=b(I)+v(J)*beta;% 更新b
end
end
z=z/alpha; % delta_z=delta_z/alpha,即delta_z为加权后的残差
for J=1:N
x(J)=x(J)+b(J)*z; % x_=x+(k)*delta_z=x+(b/alpha)*delta_z,即k=b/alpha,实现了对b的加权
end
% ------ Part Two Last ------
边栏推荐
- MySQL時間、時區、自動填充0的問題
- [leetcode622]设计循环队列
- Lock wait timeout exceeded try restarting transaction
- MySQL time, time zone, auto fill 0
- Naive Bayesian theory derivation
- Guided package method in idea
- [offer18] delete the node of the linked list
- Redis based distributed locks and ultra detailed improvement ideas
- Conditional probability
- [Nodejs] 20. Koa2 onion ring model ----- code demonstration
猜你喜欢

Gravure sans fil Bluetooth sur micro - ordinateur à puce unique

Mysql database reports an error: row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT=DY

Unity3D制作注册登录界面,并实现场景跳转

Unity3d makes the registration login interface and realizes the scene jump

2021.11.10 compilation examination

Fairygui character status Popup

Easy to use shortcut keys in idea

Redis based distributed ID generator

FairyGUI复选框与进度条的组合使用

PR 2021 quick start tutorial, first understanding the Premiere Pro working interface
随机推荐
[Offer29] 排序的循环链表
MySQL replacement field part content
记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
[Nodejs] 20. Koa2 onion ring model ----- code demonstration
Combination of fairygui check box and progress bar
idea中导包方法
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
Intermediate use tutorial of postman [environment variables, test scripts, assertions, interface documents, etc.]
[offer29] sorted circular linked list
The master of double non planning left the real estate company and became a programmer with an annual salary of 25W. There are too many life choices at the age of 25
基于Redis的分布式锁 以及 超详细的改进思路
MySQL time, time zone, auto fill 0
[offer9]用两个栈实现队列
Pytorch: tensor operation (I) contiguous
Fabrication d'un sac à dos simple fairygui
PR 2021 quick start tutorial, first understanding the Premiere Pro working interface
Learning notes of JS variable scope and function
Naive Bayesian theory derivation
Teach you to release a DeNO module hand in hand
Acwing-116 pilot brother