Bonjour,
Je souhaiterais visualiser sous Matlab l'évolution au cours du temps de trois ondes planes progressives monochromatiques :
s1 = cos(wt - kx) , s2 = cos(wt - kx + pi) et s3 = cos(wt - kx +pi/2)
Mon code est décrit plus bas.
Malgré la ligne pause(0.05), l'évolution est lente et saccadée...Comment modifier ce code pour que l'évolution des ondes au cours du temps ne soit plus saccadée mais continue ?
Voici mon code
Code:clear all x = 0:0.05:5; t = 1:0.01:5; sm = 1; v = 5; lambda = 2; w = 2*pi*v/lambda; k = 2*pi/lambda; [tt , xx] = ndgrid(t, x); s1 = sm*cos(w*tt-k*xx); s2 = sm*cos(w*tt-k*xx+pi); s3 = sm*cos(w*tt-k*xx+pi/2); for j = 1:numel(t) pause(0.05); subplot(3,1,1); plot(s1(j, :),'r','linewidth',2) title('Propagation d''une onde progressive selon l''axe Ox : s1(x,t) = sm*cos(\omega t - k x)') xlabel('Position (x)') ylabel('Amplitude (s1)') xlim([0 length(x)]) subplot(3,1,2); plot(s2(j, :),'b') title('Propagation d''une onde progressive selon l''axe Ox : s2(x,t) = sm*cos(\omega t - k x + \pi)') xlabel('Position (x)') ylabel('Amplitude (s2)') xlim([0 length(x)]) subplot(3,1,3); plot(s3(j, :),'b') title('Propagation d''une onde progressive selon l''axe Ox : s3(x,t) = sm*cos(\omega t - k x + \pi/2)') xlabel('Position (x)') ylabel('Amplitude (s2)') xlim([0 length(x)]) end
-----