Bonjour, j'aurais voulu savoir si quelqu'un pouvait m'aider quant au problème de mon code, sensé me donner la fréquence de résonance et la résistance idéale d'un circuit RLC, je comprend le message d'erreur que Matlab me donne, mais je n'arrive pas à le résoudre... Quelqu'un aurait-il une idée?
Merci d'avance
Voici mon code:
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
 
clear all
clc
%équation différentielle à résoudre: V''(t)+V'(t)/RC+V(t)/LC=e'(t)/RC
%où e(t)=A.sin(W.t) et W=2pi.f
%
compteR=1                                           %choix de la valeur pour chaque boucle (idem pour omega et t)
for R=[1000 2000 5000 10000 20000 50000 100000]     %boucle sur R
C=10e-9;                                            %valeur théorique de la capa
L=10e-4;                                            %valeur théorique de la self
A=5;                                                %valeur quelconque de l'amplitude de e(t)
compteW=1
for omega=2*pi*500000:2*pi*50000:2*pi*1000000;      %Boucle sur omega
e(1)=0;                                             %valeur de la tension e(t) en t0
e_prime(1)=A*omega;                                 %définition de la dérivée de la tension e(t)
periode=2*pi/omega;                                 %définition de la période
Tobs=15*periode;                                    %intervalle de temps observé
pas=Tobs/3000;                                      %définition du pas
v(1)=0;                                             %condition initiale V(0)
y(1)=0;                                             %condition initiale y(0)
B= max(v);
G=B/A;                                              %définition du gain
comptet=1;                                                      
for t=0:pas:Tobs;                                   %boucle sur t
                                                    %méthode d'euler
   e(t+1)=A*sin(omega*t(t+1));
   e_prime(t+1)=A*omega*cos(omega*t(t+1));
   v(t+1)=v(t)+y(t)*pas;
   y(t+1)= y(t)+pas*(-(y(t)/R/C)-(v(t)/L/C)+e_prime(t)/R/C);
comptet=comptet+1;                                  %changement de valeur avant de refaire la boucle
end
compteW=compteW+1;
end
compteR=compteR+1;
end
hold on;
figure(1)
F=500000:50000:1000000;                              %définition de la fréquence
R=[1000 2000 5000 10000 20000 50000 100000];         %redéfinition de la boucle sur R
G(compteR,compteW)=G;                                %gain                      
for i=1:1:size(R);                                   %boucle pour une courbe balayant les valeurs de R
    plot(F,G(i,:));                                  %Graphe
 
end
hold off