Bonjour,
je dois créer un programme se basant sur l'automatique, et plus particulièrement sur l'étude de systèmes en boucle ouverte et fermée.
J'ai commencé un programme mais voila qu'il bloque à un endroit. Le voici:
Le résultat 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
35
36
37
38
39
40
41
42
43 %% il s'avère nécessaire d'introduire la fonction de transfert, celle ci est introduite sous la forme %%% SYS1 = tf ([num],[den])%%%% num = input ('entrer le numerateur de la fonction de transfert en boucle ouverte ') den = input ('entrer le denominateur de la fonction de transfert en boucle ouverte ') H1 = tf ([num],[den]) %%%% Maintenant que la fonction de transfert est créée, nous pouvons passer à l'étude de la stabilité du système%%% poles = roots (den) if poles < 0 disp ('le systeme est stable') end if real (poles) < 0 disp ('le systeme est stable') elseif poles > 0 disp ('le systeme est instable') end step (H1) %%% nous allons maintenant tester différentes valeurs de régulateurs et observer son influence sur le système%%% %%% vous allez renter une valeur de type zpk, c'est à dire z = valeur du zéro, p = valeur du pole et k = valeur du gain%% k = input ('entrer une valeur de régulateur de type zpk ') NUM = k * num DEN = den + k * num H2 = tf (NUM,DEM) poles = roots (DEN) if poles < 0 disp ('le systeme est stable') end if real (poles) < 0 disp ('le systeme est stable') elseif poles > 0 disp ('le systeme est instable') end step (H2)Comme vous pouvez le constater, ça bloque au niveau de la fonction zpk, j'ai consulté l'aide mais rien à faire, je capte 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
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 projet entrer le numerateur de la fonction de transfert en boucle ouverte [1] num = 1 entrer le denominateur de la fonction de transfert en boucle ouverte [1 2 3] den = 1 2 3 Transfer function: 1 ------------- s^2 + 2 s + 3 poles = -1.0000 + 1.4142i -1.0000 - 1.4142i le systeme est stable le systeme est stable entrer une valeur de régulateur de type zpk zpk(1,1,1) Zero/pole/gain: (s-1) ----- (s-1) Zero/pole/gain: (s-1) ----- (s-1) Zero/pole/gain from input 1 to output: 2 (s-1) ------- (s-1) Zero/pole/gain from input 2 to output: 3 (s-1) ------- (s-1) Zero/pole/gain from input 3 to output: 4 (s-1) ------- (s-1) ??? Undefined function or variable "DEM". Error in ==> projet at 29 H2 = tf (NUM,DEM)
Si vous avez une idée, ça serait sympa
A plus
Partager