Bonjour,
Alors voila j'essaye de réaliser une prédiction à l'aide du filtre de Kalman basique. Pour ça j'ai à disposition un tableau avec les valeurs du flux, et mon but est de prédire ce flux.
J'ai réalisé le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
%% Adaptive Kalman filter
clear all;
%% Voltage values 
A=[0.39, 0.5, 0.48, 0.29, 0.25, 0.32, 0.34, 0.48, 0.41, 0.45,0.39, 0.5, 0.48, 0.29, 0.25, 0.32, 0.34, 0.48, 0.41, 0.45];
 
%% First Order Adaptive Kalman Filter
x_inter=zeros(1,20);
 
P_inter=1;
 
Q=0.382;
 
zk=0.39+0.11122.* randn(1,20)
 
R=0.1;
 
for t=1:20
% **************Update**************
    K=P_inter/((P_inter+R));
    x_current(t)=x_inter(t)+K*(zk(t)-x_inter(t));
    P_current=(1-K)*P_inter;
 
% **************Predict**************
    x_inter(t)=x_current(t);
    P_inter=P_current+Q;
 
end
 
real_value=A
estimated=x_current
mse = (sum(x_current.^2))/20
 
hold on;
plot(A,'b');
plot(x_inter,'r');
plot(x_current,'g');
Je souhaite à l'instant t prévoir le flux qu'il y aura à l'instant t+1. Je pensais que le filtre de Kalman pouvait réaliser cela mais je suis un peu bloquée.
Pour moi x_inter est la valeur prédite, mais étant donné qu'elle est égale à x_current je ne prédis absolument rien.

Merci à ceux qui pourront m'aider