Bonsoir à tous, j'aimerais savoir comme faire pour afficher les calculs que fait matlab mon code est le 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
%Quantille des stratégies 
NH=23.16947856;
NB=15.90023217;
RH=0.993438548;
RB=0.812575924;
%Création d'un vecteur pour le portefeuille avec que des 0 
port3 = zeros(length(signalr),1);
port3(1,:)=100; %premiere valeur du portefeuille 100 
for i=2:length(signaler) % boucle 
 
if signaln(i-1)>NH&&signalr(i-1)>RH || signaln(i-1)>NH&&RB<signalr(i-1)<RH 
        port3(i,:)=port3(i-1,:).*(1+(0.8*cont(i-1)+0.2*trend(i-1)));
 
 elseif signaln(i-1)>NH&&signalr(i-1)<RB||NB<signaln(i-1)<NH&&signalr(i-1)>RH
 
            port3(i,:)=port3(i-1,:)*(1+(0.6*cont(i-1)+0.6*trend(i-1)));
          elseif NB<signaln(i-1)<NH&&RB<signalr(i-1)<RH
 
                port3(i,:)=port3(i-1,:)*(1+(0.5*cont(i-1)+0.5*trend(i-1)));
 
            elseif NB<signaln(i-1)<NH&&signalr(i-1)<RB||signaln(i-1)<NB&&signalr(i-1)>RH
 
                     port3(i,:)=port3(i-1,:)*(1+(0.4*cont(i-1)+0.6*trend(i-1)));
             elseif signaln(i-1)<NB&&RB<signalr(i-1)<RH
 
                        port3(i,:)=port3(i-1,:)*(1+(0.2*cont(i-1)+0.8*trend(i-1)));
 
                    elseif signaln(i-1)<NB&&signalr(i-1)<RB
 
                              port3(i,:)=port3(i-1,:)*(1+(0.1*Cont(i-1)+0.9*Trend(i-1)));
 
end
 
end
Le problème c'est qu'il me donne que les 9 premières valeurs et que des 0 ensuite.
Les 9 premières valeurs ont les mêmes caractéristiques que la 10eme qui ne passe pas c'est à dire le cas :

NB<signaln<NH&&RB<signalr<RH

donc je vois pas pourquoi, si c'était une erreur dans les conditions je n'aurais pas eu de valeurs dès le début.

Pour info :

Port3:
100
99,9318130820178
100,088110890041
99,7294276269757
99,7800696562153
99,7349682448054
99,6860776060977
99,4575180511880
99,4527844421098
99,7358939506015
99,6506175706554

signalr :

20,6485060100000
19,7252146200000
19,2896397300000
18,3933304200000
18,9994471600000
18,8431495900000
18,6472895600000
18,3566342600000
19,2947543200000
21,2758430500000
22,2286129500000
21,6574234100000

Donc là sur signaln on est dans tous les cas RB<signaln<RH

signalr :

0,750862751830270
0,718821735130126
0,701354474303901
0,668798147927616
0,692240264914708
0,688599844759384
0,689960773792256
0,682878492457439
0,723523804911358
0,800162283544370
0,837629150700482
0,815268764330509

les 11 premières valeurs sont dans signalr<RB et la 11ème passe à RB<signalr<RH et je crois que c'est là que ça bug ...

Merci pour aide