[請問] 請問我這個迴圈的CODE,寫得對嗎 @@??
https://imgur.com/a/xAtl4kf
這是一個迴圈矩陣,從 0分鐘 迭代到 160分鐘
I=eye(360,360);
[Xt]是360*1的矩陣、
[A]是360*360的矩陣、
u=0
[Pt+1]跟[Pt]都是360*360的矩陣、
[Kg]是360*1的矩陣、
[H]是1*360的矩陣、
yt+1是純量,是實測值的data、
下面是CODE:
K=zeros(360,1);
for f=2:N % f,代表從第2次迭代~到第N次迭代
x(:,1,f) = A*x(:,1,f-1);
P(:,:,f) = A*P(:,:,f-1)*A';
K(:,1,f) = P(:,:,f)*H' / (H*P(:,:,f)*H');
x(:,1,f)=x(:,1,f)+K(:,1,f)*(y(f)-H*x(:,1,f-1));
x0(1,f)=x(230,1,f);
% x0的物理意義是把卡爾曼濾波算法得到的每一k時刻的位移值放在x0中,
於是x0就是每一時刻的濃度值
P(:,:,f)=(I-K(:,1,f)*H)*P(:,:,f);;
end
y
x0
t=1:N;
plot(t,y,t,x0);
我把參數輸入自己的CODE之後,結果跟想像的有落差,
所以好奇想發問一下,是否這個迴圈矩陣寫錯了??
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.224.101.239
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1527067032.A.883.html
※ Ecampus:轉錄至看板 Programming 05/23 17:23
※ 編輯: Ecampus (125.224.101.239), 05/23/2018 17:26:57
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章