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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
| clear
clc
// ____________ECRITURE DES CONSTANTES________________
g=9.81 //Constante grav
metresec= 3.6 // constante kph en ms
//******************CREATION BOUCLE POUR OUVRIR LES FICHIERS********************
files=listfiles('C:\Users\La Machine\Desktop\DOSSIER CC\Dossier Etudiant\SPRINT_RADAR\*.txt')
for i=1:size(files,1)
data1 = csvRead(files(1),'\t',',')
//_________________OUVERTURE FICHIER XLS MASSE TAILLE__________________
Sheets = readxls('masse_taille.xls')
s1=Sheets(1)
data2 =s1.value
//******************OBTENTION DES MASSES ET DES TAILLES******************
for ii=1:size(data2,'r')
taille = data2(ii,3) // collecte de la taille en m
masse = data2(ii,2) // collecte de la masse en kg
end
// ___________PARAMETRES PREALABLE________________
ParamFV = csvRead ('ParamFV.csv',',',',') // Creation des valeurs brutes
for iii=1:size(ParamFV,'r')
VmaxT = ParamFV (iii,1)
Tau = ParamFV(iii,2)
delay = ParamFV (iii,3)
end
// __________TRACAGE GRAPHIQUE VITESSE - TEMPS NORMAL____________
v = data1(:,2)/metresec // conversion kph en ms
data1(:,3) = v // ajout 3e colonne de ms
t = data1(:,1) //création abscisse - temps
//plot (t,v,"r") // traçage courbe x/y
//show_window(0)
//xtitle('Relation Vitesse Temps pendant un sprint','Temps (s)')
//*********************CREATION ET PLOT DE L'EXPONENTIELLE A PARTIR DES DATA BRUTES*************************
//___________OBTENTION DE LA VITESSE MODELISEE_________________
Vmod = VmaxT*(1-exp(-(t-delay)/Tau)) // formule exponentielle
//____________OBTENTION DE LA VMAX________________
Vmax = max(Vmod) // Obtention de la vitesse maximale modélisée
//plot(t,Vmod,'b')
//show_window(0)
//xtitle('Relation Force HZT - Vitesse pendant un sprint','Vitesse en (m/s)','Force(N/kg)')
// POUR METTRE EXPONENTIELLE A PARTIR DE LEASTSQ
// *************************CREATION DE L'ACCELERATION SUR LA BASE DE L'EXPONENTIELLE + GRAPH**********************
//_______________OBTENTION DE L'ACCELERATION HORIZONTALE______________
aH = (VmaxT/Tau)*exp(-(t-delay)/Tau)
//_______________GRAPHIQUE AH - TEMPS______________
//plotaH = plot(t,aH,'g')
//show_window(0)
//xtitle('Relation Accélération - Temps et Vitesse-Temps pendant un sprint','Temps (s)','Accélération(m/s) (en vert) et Vitesse (m/s) (en bleu')
//***************CREATION DE LA FORCE SUR LA BASE DE L'EXPONENTIELLE BRUTE****************
//_________CONSTANTES____________
Cd = 0.9 // Drag coefficient
p0=1.293
//_________________CALCUL DES PARAMETRES PREALABLES____________________
Af = (0.2025*taille^0.725*masse^0.425)*0.266 // calcul de l'aire frontale
p=p0*760/760*273/(273+20) // densité de l'air
k=0.5*p*Af*Cd // calcul du coefficient de friction aérodynamique
Faero = k*(Vmod-0)^2 // calcul de la force aérodynamique
// _________________CALCUL DE LA FORCE HORIZONTALE________________
Fh=masse*aH+Faero // Calcul de la force Hzt
Fhnorm=Fh/masse // Normalisation de la force Hzt
//__________________GRAPHIQUE FORCE - VITESSE _________________
//show_window(1)
//plotFV= plot (Vmod,Fhnorm,'m') //graph FV
//xtitle('Relation Force HZT - Vitesse pendant un sprint','Vitesse en (m/s)','Force(N/kg)')
// *********************CREATION DE LA COMPOSANTE PUISSANCE + GRAPH SUR LA BASE DE L'EXPONENTIELLE BRUTE******************
//_______________CALCUL DE LA PUISSANCE MAXIMALE____________________
PowerWkg= Vmod.*Fhnorm // création de la puissance normalisée
//_________________GRAPH PUISSANCE VITESSE _____________________
//show_window(2)
//plotpower=plot(Vmod,PowerWkg,'c') // plot de la puissance - vitesse
//xtitle('Relation puissance-vitesse pendant un sprint','Vitesse en (m/s)','Puissance(W/kg)')
//**********************DETERMINATION FO V0 PMAX*************************
getd('C:\Users\La Machine\Desktop\DOSSIER CC\FONCTION CC') // Recupère le chemin de la fonction
Vmod1 = Vmod(2:1:length(Vmod)) // Création d'une matrice supprimant la ligne 1 des NaN pour la vitesse
Fh1 = Fh(2:1:length(Fh)) // Création d'une matrice supprimant la ligne 1 des NaN pour la force horizontale
//__________UTILISATION DE POLYFIT POUR RECUPERER LES VALEURS MAXIMALES THEORIQUES_________________
polyfit1 = polyfit(Vmod1,Fh1,1) // Fonction polyfit
// ____________FORCE MAXIMALE THEORIQUE ____________
F0 = polyfit1(1,:) //Equation F0
F0norm = F0/masse // Normalisation F0
//_____________PENTE DE LA RELATION FV______________
slope = polyfit1(2,:) // Récupération de la pente de la relation : détermination de l'orientation du profil FV
//_____________VITESSE MAXIMALE THEORIQUE_____________
V0 = -F0/slope // Equation V0
//_____________CALCUL DE LA PMAX____________
Pmax = V0.*F0/4 // Equation PMAX
Pmaxnorm = Pmax/masse // Normalisation PMAX
// **************OBTENTION DES DATA DE PERFORMANCE********************
distance = VmaxT*((t-delay)+Tau*exp(-(t-delay)/Tau))-VmaxT*Tau // Equation de la distance
//____________DONNEES SELON LA DISTANCE______________
cinqmetre = find(distance>=5,1)// On cherche la distance 5m
tpscinqmetre = t(cinqmetre)// On recupère le temps correspondant aux 5m
dixmetre = find(distance>=10,1)// On cherche la distance 10m
tpsdixmetre = t(dixmetre)// On recupère le temps correspondant aux 10m
vingtmetre= find(distance>=20,1)// On cherche la distance 20m
tpsvingtmetre = t(vingtmetre)// On recupère le temps correspondant aux 20m
//____________DONNEES SELON LE TEMPS________________
deuxsec = find(t>=2,1) // On cherche le temps 2s
distancedeuxsec = distance(deuxsec) //On recupère la distance correspondante aux 2s
quatresec = find(t>=4,1) // On cherche le temps 4s
distancequatresec = distance(quatresec) // On recupère la distance correspondante aux 4s
// ***************************CALCUL DES COMPOSANTES MECHANIQUES (RF, DRF)***************************
//____________CALCUL DE LA FORCE TOTALE_______________
Ftot = sqrt(Fh1^2+(masse*g)^2)
//____________CALCUL DU RATIO DE FORCE_____________
RF = (Fh1/Ftot) // calcul du ratio de force
RF1 = RF(:,1) // RF avec une colonne
//_____________CREATION DE NOUVEAUX VECTEURS___________
RF3s = RF1(15:1:length(RF1))
VRF = Vmod1(15:1:length(Vmod1))
//_____________OBTENTION DU RFPEAK_______________
RFpeak = max(RF1(find(t>=0.3,1))) // obtention du RFpeak
//____________OBTENTION DU DRF________________
getd('C:\Users\La Machine\Desktop\DOSSIER CC\FONCTION CC') // Recupère le chemin de la fonction
polyfit2 = polyfit(VRF,RF3s,1) // Utilisation de polyfit pour récupérer le DRF
DRF = polyfit2(2,:) // On utilise polyfit pour le DRF
DRF1 = DRF*100 // On convertit en pourcentage
//___________OBTENTION DU MEAN RF SUR 10M_____________
meanRF10 = mean(RF1(t>0.3&distance<10)) // Moyenne du RF sur 10m à partir de 0.3 secondes
//___________CREATION D'UN TABLEAU POUR RECUEILLIR LES DATA____________
Bilan(i,1:19) = [masse,V0,F0,F0norm,Pmax,Pmaxnorm,slope,meanRF10,RFpeak,DRF1,tpscinqmetre,tpsdixmetre,tpsvingtmetre,%nan,%nan,distancedeuxsec,distancequatresec,Vmax,Tau]
end |
Partager