Bonjour
j'ai un bug qui me rend fou.
Je voudrais avoir 4 fois une serie de rampe (de Tvrai=100 à 750) un plateau a 750 une rampe de Tvrai=750 à 100) et un plateau à 100.
Le programme marche très bien pour les deux première boucles et ne veut pas rentrer dans la troisième (cad if 2*boucle<tps(i)<=3*boucle) ) le code reste bloqué à T=100
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 while tps(i)<TPS boucle=TPS/cycle; %durée d'un cycle thermique Periode=boucle/4; %Différente phase du cycle thermique if tps(i)<=boucle if tps(i)<=Periode Tvrai=100+(650/Periode)*tps(i); else if tps(i)<=2*Periode Tvrai=750; else if tps(i)<=3*Periode Tvrai=2050-(650/Periode)*tps(i); else if tps(i)<=4*Periode Tvrai=100; end end end end elseif boucle<tps(i)<=2*boucle if tps(i)<=5*Periode Tvrai=(750-650/Periode*5*Periode)+(650/Periode)*tps(i); else if tps(i)<=6*Periode Tvrai=750; else if tps(i)<=7*Periode Tvrai=(100+650/Periode*7*Periode)-(650/Periode)*tps(i); else if tps(i)<=8*Periode Tvrai=100; end end end end elseif 2*boucle<tps(i)<=3*boucle 4*boucle if tps(i)<=9*Periode Tvrai=(750-650/Periode*9*Periode)+(650/Periode)*tps(i); else if tps(i)<=10*Periode Tvrai=750; else if tps(i)<=11*Periode Tvrai=(100+650/Periode*11*Periode)-(650/Periode)*tps(i); else if tps(i)<=12*Periode Tvrai=100; end end end end elseif 3*boucle<tps(i)<=4*boucle if tps(i)<=13*Periode Tvrai=(750-650/Periode*13*Periode)+(650/Periode)*tps(i); else if tps(i)<=14*Periode Tvrai=750; else if tps(i)<=15*Periode Tvrai=(100+650/Periode*15*Periode)-(650/Periode)*tps(i); else if tps(i)<=16*Periode Tvrai=100; end end end end end Tvrai
Merci
Partager