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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
//lecture du fichier au format texte
clear
rep='C:\Users\ZoDa\Documents\programmescilab\fichiers';
ext='*.txt';
chemin=fullfile(rep,ext);
liste=dir(chemin);
//nomfichier='data.txt'
//A=read(liste.name(1),-1,2);
//end
for i=1:size(liste.name,1),
try
Macellule(i).entries=read(liste.name(i),-1,2);
catch
end
end;
for i=1:length(liste),
figure(i);
A=Macellule(i).entries;
//Vecteurs temps et pics
temps=(A(:,1)/1000);
pic=A(:,2);
//Sélection des n derniers points du pic
n=513;
npic=length(pic);
//f=pic(npic-n+1:npic);
f=pic(npic-n+1:npic);
t=temps(1:n);
dt=mean(diff(t));
//Détermination de la ligne de base
[maxf,indmax]=max(f);
fond = mean(f(1:indmax-70));
f = f-fond;
// Détection automatique de l'ind
[m,k]=max(A(:,2));
temps1=temps(k+250:length(pic));
pic1=pic(k+250:length(pic));
// Calcul de l'aire du pic
// 1 - Formule des trapèzes
ift = ((f(1)+f(n))/2 + sum(f(2:n-1)))*dt;
//ift = ((f(1)+f(n))/2 + sum(f(2:n)))*dt;
//disp('Intégration du pic (formule des trapèzes)');
//disp(ift)
// Affichage
subplot(2,2,1)
plot2d(temps,pic+6,style=[color("red")],axesflag=1,rect=[1,-8,max(temps),max(pic)+10])
//Marquer le début de la zone
plot(temps1,pic1+6,'b')
l=legend(['Courbe Original';'continium'])
xtitle(liste.name(i),'Temps (s)')
//Appliquation du filtre pour enlever les parasites
[m,k1]=max(A(:,2))
Amodif=zeros(size(A,1));
Amodif(1:k1-250-1)=A(k1-250,2);
Amodif(k1-250:k1+250)=A(k1-250:k1+250,2);
Amodif(k1+250+1:length(pic))=A(k1+250,2);
//Détection automatique de l'ind
[m,k]=max(A(:,2));
temps1=[];
Amodif1=[];
temps1=temps(k+250+1:length(pic));
//pic1=pic(k+250:length(pic));
//temps1=temps(k+250+1:length(pic));
Amodif1(1:length(temps1))=A(k+250,2);
//Définition de la moyenne
//disp(mean(pic(k+250:length(pic))))
//disp(mean(pic(k-250:length(pic))))
//disp(mean(pic(1:length(pic)))-mean(pic(k+250:length(pic))))
disp(mean(pic(k+250:length(pic)))+6);
// Affichage
subplot(2,2,2)
plot2d(temps,Amodif+6,style=[color("red")],axesflag=1,rect=[1,-8,max(temps),max(pic)+10])
xtitle(liste.name(i),'Temps (s)')
//plot2d(temps,Amodif,style=[color("red")],axesflag=1,rect=[1,0,max(temps),max(pic)+10])
//Marquer le début de la zone
plot(temps1,Amodif1+6,'b')
l1=legend(['Courbe Corrigé';'Continium'])
//plot(temps1,pic1,'b')
//l1=legend(['Courbe Corrigée';'Quantinium');
subplot(2,2,3)
plot(t,zeros(f),'b')
plot2d(t,f,style=[color("red")],rect=[1,-1,max(t),maxf+10])
xtitle(liste.name(i),'Temps (s)')
hl = legend(['Ligne de base';'f(t)']);
subplot(2,2,3)
plot(t,zeros(f),'b')
//end;
// Calcul de l'aire du pic
// 1 - Formule des trapèzes
//ift = ((f(1)+f(n))/2 + sum(f(2:n-1)))*dt;
//disp('Intégration du pic (formule des trapèzes)');
//disp(ift)
subplot(2,2,3)
plot(t,zeros(f),'b')
plot2d(t,f,style=[color("red")],rect=[10,-10,max(t),maxf+10])
hl = legend(['Ligne de base';'f(t)']);
//subplot(2,2,3)
//plot(t,zeros(f),'b')
//Ecrire dans un fichier texte les résultats obtenus
fd=mopen('C:\Users\ZoDa\Documents\programmescilab\recapitulatif','wt');
titre=fd;
mfprintf(fd,'nom du fichier = %t\n',titre);
moyenne=mean(pic(k+250:length(pic)))+6;
mfprintf(fd,'valeur moyenne = %f\n',moyenne);
integrale=ift;
mfprintf(fd,'valeur intégrale=%f\n',integrale);
mclose(fd); |
Partager