1. 卡尔曼滤波怎么在matlab里面运算
你可以直接调用matlab 里的kalman()函数进行卡尔曼滤波运算
方程格式如下
[kest,L,P] = kalman(sys,Qn,Rn,Nn)
sys 表示系统状态方程
Qn,Rn分别是Q矩阵和R矩阵
Nn是观测噪声和系统噪声的协方差
2. 如何用matlab进行卡尔曼预测
ma.add("aaa");
ma.add("bbb");
ma.add("ccc");
Object o = ma.get(1);
Iterator it = ma.iterator();
while(it.hasNext()){
Object o1 = it.next();
System.out.println(o1);
}
3. 卡尔曼滤波算法用matlab工具仿真,matlab软件包用什么
恩 这里有一个直接的卡曼滤波的专业Matlab工具箱
需要的话 可以直接到这里下载http://www.matlabsky.com/thread-224-1-2.html
4. matlab 卡尔曼滤波工具箱怎么安装
14-44889-04614-04275-46147-23559-43066-41714-23083-65272-04997-17469-27919-17226-59862-27901-53983-56217-20094-53460-62647-58166-24499-35558-19511-44882-53016-25658-61109-03776-34505-00776-15813-07183
5. 麻烦谁给个matlab的卡尔曼滤波器的toolbox啊~~感激不尽啊
给个邮箱啊,亲,不然给你发到哪啊!!!!
6. 请大家奉献一个效果好的卡尔曼滤波的matlab程序,最好有说明,重谢!
我现在也在研究kalman,这是最新发现的一个程序,我做的标注,有问题一块研究
function [x, V, VV, loglik] = kalman_filter(y, A, C, Q, R, init_x, init_V, varargin)
% Kalman filter.
% [x, V, VV, loglik] = kalman_filter(y, A, C, Q, R, init_x, init_V, ...)
%
% INPUTS:
% y(:,t) - the observation at time t 在时间t的观测
% A - the system matrix A 系统矩阵
% C - the observation matrix C 观测矩阵
% Q - the system covariance Q 系统协方差
% R - the observation covariance R 观测协方差
% init_x - the initial state (column) vector init_x 初始状态(列)向量
% init_V - the initial state covariance init_V 初始状态协方差
%
% OPTIONAL INPUTS (string/value pairs [default in brackets]) 选择性输入(字符串/值 对【默认在括号中】)
% 'model' - model(t)=m means use params from model m at time t [ones(1,T) ] 在时间t,m意味着利用 m模型参数 [ones(1,T) ]
%
% In this case, all the above matrices take an additional final
% dimension, 在这种情况下,上述矩阵采用附加的维数
% i.e., A(:,:,m), C(:,:,m), Q(:,:,m), R(:,:,m). 例如
% However, init_x and init_V are independent of model(1).
% init_x and init_V相对于模型1是独立的
% 'u' - u(:,t) the control signal at time t [ [] ]
% 在时间t的控制信号
% 'B' - B(:,:,m) the input regression matrix for model m
% 对于模型m的,输入回归矩阵
% OUTPUTS (where X is the hidden state being estimated) 输出(其中X是被估计的隐藏状态)
% x(:,t) = E[X(:,t) | y(:,1:t)]
% V(:,:,t) = Cov[X(:,t) | y(:,1:t)]
% VV(:,:,t) = Cov[X(:,t), X(:,t-1) | y(:,1:t)] t >= 2
% loglik = sum{t=1}^T log P(y(:,t))
%
% If an input signal is specified, we also condition on it: 如果一个输入信号是特定的,我们的条件
% e.g., x(:,t) = E[X(:,t) | y(:,1:t), u(:, 1:t)]
% If a model sequence is specified, we also condition on it:
% e.g., x(:,t) = E[X(:,t) | y(:,1:t), u(:, 1:t), m(1:t)]
[os T] = size(y);
ss = size(A,1); % size of state space
% set default params
model = ones(1,T);
u = [];
B = [];
ndx = [];
args = varargin;
nargs = length(args);
for i=1:2:nargs
switch args{i}
case 'model', model = args{i+1};
case 'u', u = args{i+1};
case 'B', B = args{i+1};
case 'ndx', ndx = args{i+1};
otherwise, error(['unrecognized argument ' args{i}])
end
end
x = zeros(ss, T);
V = zeros(ss, ss, T);
VV = zeros(ss, ss, T);
loglik = 0;
for t=1:T
m = model(t);
if t==1
%prevx = init_x(:,m);
%prevV = init_V(:,:,m);
prevx = init_x;
prevV = init_V;
initial = 1;
else
prevx = x(:,t-1);
prevV = V(:,:,t-1);
initial = 0;
end
if isempty(u)
[x(:,t), V(:,:,t), LL, VV(:,:,t)] = ...
kalman_update(A(:,:,m), C(:,:,m), Q(:,:,m), R(:,:,m), y(:,t), prevx, prevV, 'initial', initial);
else
if isempty(ndx)
[x(:,t), V(:,:,t), LL, VV(:,:,t)] = ...
kalman_update(A(:,:,m), C(:,:,m), Q(:,:,m), R(:,:,m), y(:,t), prevx, prevV, ...
'initial', initial, 'u', u(:,t), 'B', B(:,:,m));
else
i = ndx{t};
% over all elements; only some will get updated
x(:,t) = prevx;
prevP = inv(prevV);
prevPsmall = prevP(i,i);
prevVsmall = inv(prevPsmall);
[x(i,t), smallV, LL, VV(i,i,t)] = ...
kalman_update(A(i,i,m), C(:,i,m), Q(i,i,m), R(:,:,m), y(:,t), prevx(i), prevVsmall, ...
'initial', initial, 'u', u(:,t), 'B', B(i,:,m));
smallP = inv(smallV);
prevP(i,i) = smallP;
V(:,:,t) = inv(prevP);
end
end
loglik = loglik + LL;
end
7. matlab中卡尔曼滤波函数中变量sys,Qn,Rn,Nn是什么
[kest,L,P] = kalman(sys,Qn,Rn,Nn)
卡尔曼滤波器信号模型
x(k) = A * x(k-1) + w(k)
y(k) = C * x(k) + v(k)
下边的w和v就应该是上边这两个w和v了
E{ww'} = QN,这个是系统噪声协方差阵;
E{vv'} = RN,这个是观测噪声协方差阵;
E{wv'} = NN,这个看字面应该是系统噪声与观测噪声的互协方差阵;
白噪声均值为0,所以上面的几个值也可以认为是自相关函数和互相关函数;
sys给定系统模型;
8. 求助.MATLAB卡尔曼滤波器工具箱里kalman
% INPUTS:
% y(:,t) - the observation at time t
% A - the system matrix
% C - the observation matrix
% Q - the system covariance
% R - the observation covariance
% init_x - the initial state (column) vector
% init_V - the initial state covariance
9. MATLAB7.0怎么打开卡尔曼工具箱
在MATLAB的菜单栏中选择help(帮助)项,在其下拉菜单中选择function browser,然后在其search项中输入care,点击打开即可。
10. 求matlab实现扩展卡尔曼滤波的程序
这里有一个toolbox,希望对你有帮助。
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=5377&objectType=file