Bonjour
je dois écrire une fonction Q sur Matlab en fonction de a
avec a prend 3 valeurs : 0, 1 et 2
apres le cacul de Q en fonction de a je dois afficher le Q et le a qui prend la valeur maximale
J ai fais un essai mais ça marche pas:

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
nt=3
NTmax=10
eina = 2;
sigma= 10;
es= 6;
et= 4;
lambda= 0.8 ;
alpha=0.8;
beta=0.5;
state=[0;1;2];
 
if nt < NTmax
    Q0= eina -sigma;
    Q1= eina -sigma + alpha; 
    Q2= es - et - sigma +(1-lambda)*beta+ lambda*alpha ;
 
    %a= argmax(Q)   
else
    Q1= -eina -sigma + alpha ;   
end
 
 Q=[Q0;Q1;Q2];
  maxQ=max(Q)
 for state= 0:2
Q(state)= maxQ
a=state
 end