Bonjour,

j'ai écrit un programme (.m) pour tracé les diagrammes de Bode d'une fonction de transfert mais rien ne se passe quand je clique sur run.
j'ai le message d'erreur suivant : "Error: Missing variable or function."

Voici le programme :

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
% définition des différentes fonctions de transfert de la PLL. (en phase)
 
clear all;
close all;
 
w=logspace(-1,5,500);
 
Kc=1;                          % gain du comparateur de phase
 
Kf=1;                          % fonction de transfert du filtre passe bas de gain Kf, constante de temps Tau                              
Tau=1;
F=Kf/(1+Tau*i*w);        
 
Ko=1;                          % gain du VCO
 
G=1/i*w;                       % intégrateur
 
% tracé des diagrammes de Bode en boucle ouverte et en boucle fermée
 
figure(1);
 
A=Kc*F*Ko*G;                   % fonction de transfert en boucle ouverte
 
subplot(2,1,1);
semilogx(w,20*log10(abs(A)));
grid; xlabel('log(w)'); ylabel('G'); title('Diagramme de Bode de la FTBO en gain');
subplot(2,1,2);
semilogx(w,unwrap(angle(A))*180/pi);
grid; xlabel('log(w)'); ylabel('Phi'); title('Diagramme de Bode de la FTBO en phase');
 
 
figure(2);
 
B=(Kc*F*Ko*G)/(1+Kc*F*Ko*G);    % fonction de transfert en boucle fermée (retour unitaire)
 
subplot(2,1,1);
semilogx(w,20*log10(abs(B)));
grid; xlabel('log(w)'); ylabel('G'); title('Diagramme de Bode de la FTBF en gain');
subplot(2,1,2);
semilogx(w,unwrap(angle(B))*180/pi);
grid; xlabel('log(w)'); ylabel('Phi'); title('Diagramme de Bode de la FTBF en phase');
Si quelqu'un pourrait m'aider se serait vraiment gentil car c'est mon premier programme et je ne gère pas trop !
merci beaucoup.