Fonction hello

Fermé
exocet - 1 juil. 2009 à 10:30
 exocet - 1 juil. 2009 à 17:28
Bonjour,
je dois faire un programme permettant d'afficher hello tous les 30 secondes a l'aide des fonctions clock etime et pause, (par la suite je devrais faire attention au temps d'execution des calculs que je vais mettre a la place de hello) est-ce que quelqu'un pourrai me donner une piste pour debuter. merci d'avance.
A voir également:

3 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
1 juil. 2009 à 14:24
Avec quel langage de programmation ?
0
je programme sous matlab
voici une premiere ebauche:
for i=1:3
t1 = clock()
% start action
disp('faire mesure damplitude')
disp('faire mesure de phase')
pause(5);
% end action
t2 = clock();
while etime(t2, t1)<2 %secondes
pause(0.1);
t2 = clock();
end
etime(t2, t1)
end
0
Au depart j'ai deux porteuse de 10khz qui arrive sur une carte son MOTU HD192, a l'aide d'une gaussienne je filtre ces 2 signaux et je veus mesurer l'amplitude et la phase de ces 2 signaux a l'aide de ce programme:
duration=15; %s
nchannels=2;
samplingrate=192000;
smoothwindow=0.01; %s : half width of gaussian
carrierfrequency=10e3; %Hz

%data acquisition
samples=duration*samplingrate;
data=MotuInit(samples,nchannels,samplingrate);
datalength=length(data);
samples=datalength/nchannels;
channels=zeros(datalength/nchannels,nchannels);
for i=1:nchannels
channels(:,i)=data(1+(i-1)*datalength/nchannels:i*datalength/nchannels);
end

%data filtering and amp and phase extraction
t=(0:1/samplingrate:(samples-1)*1/samplingrate)';
%Calculate gaussian window to smooth signal
gaussize=smoothwindow*samplingrate;
gauslenght=min(6*gaussize,samples);
mgaus=mgaussian(gaussize,gauslenght);
wins=mgaus/sum(mgaus);
results=zeros(samples-gauslenght-1,nchannels);


for i=1:nchannels
convresult=convfft(wins,channels(:,i)*2.*exp(complex(0,2*pi*carrierfrequency*t)));
results(:,i)=convresult(gauslenght+1:end-gauslenght);
% clear ch1
% e1=convfft(wins,ch2*2.*exp(i*2*pi*ifr*t));
% clear ch2
% %Calculate reference coil phase, amplitude is normalized to 1
% ref1=e1((6*gaussize+1):nsamp)./abs(e1((6*gaussize+1):nsamp));
% %Compensate the receiver phase with that of the reference coil
% m1=d1((6*gaussize+1):nsamp)./ref1;
% clear d1 e1
end

le probleme est que je debute en matlab et je vois pas trop comment reussir a modifier le temps de mesure(une premiere mesure de 1s et une autre de 60s)
pouvez-vous me donner des pistes s'il vous plait
0