# data[].attributes.attachment_link.readable_text
# Code #1
import matplotlib.pyplot as plt

positions = [0.0 , 0.12 , 0.68 , 1.68 , 3.12 , 5.0 , 7.32 , 10.08 , 13.28 , 16.92 , 21.0 , 25.52]

plt.plot(positions,"ro", label =" position ")
plt.grid()
plt.title(" Positions du mobile ") # Titre du graphique
plt.xlabel(" Temps (s)") # Légende abscisses
plt.ylabel(" Position (m)") # Légende ordonnées
plt.legend() # Légende de la courbe
plt.show()


# Code #2
import matplotlib.pyplot as plt
import numpy as np
from math import *
abscisses = np.linspace( -4 ,4 ,100) # 100 points entre -4 et 4
ordonnees = [cos(x)+3* sin (2*x) for x in abscisses ]
plt.plot( abscisses , ordonnees , label ="y = cos(x) + 3sin (2x)")
plt.grid()
plt.legend()
plt.show()

# Code #3
import matplotlib.pyplot as plt
import numpy as np
from math import *
abscisses = np.linspace ( -3*pi ,3*pi ,100)
yCos = [cos(x) for x in abscisses ] # Cosinus
ySin = [sin(x) for x in abscisses ] # Sinus
plt.plot( abscisses ,yCos , label ="y = cos (x)")
plt.plot( abscisses ,ySin , label ="y = sin (x)")
plt.grid()
plt.legend()
plt.show()

# Code #4
import matplotlib.pyplot as plt
import numpy as np
U = np.linspace (1 ,8 ,8)
I = [0.87 ,1.76 ,2.56 ,3.42 ,4.19 ,5.01 ,5.86 ,6.76]
plt.plot(I,U,"bo")
plt.xlabel(" Courant (mA)")
plt.ylabel(" Tension (V)")
# Régression linéaire
a,b = np.polyfit(I,U ,1)
X = [0 ,7]
Y = [a*x+b for x in X]
plt.plot(X,Y,"r")
plt.text(1,8,"a = " + str(a))
plt.text(1,7,"b = " + str(b))
plt.show()

# Code #5
import matplotlib.pyplot as plt
import numpy as np
t = np.linspace(0 ,0.25 ,16)
ymes = np. array([0 , -0.7 , -1.5 , -2.3 , -3.5 , -4.5 , -5.9 , -7.7 , -8.8 , -10.6 , -12.3 , -14.2 , -16.4 ,
-18.5 , -21 , -23.5])
# Affichage des mesures
y = ymes / 50
plt.plot (t, y, "ro", label =" Mesures ")
# Mod é lisation
a,b,c = np.polyfit(t,y ,2)
y_modele = a*t **2 + b*t + c
plt.plot(t, y_modele , "b-", label = " Modèle")
# Lé gendes
plt.title (" Chute libre avec modélisation ")
plt.xlabel (" Temps(s)")
plt.ylabel (" Hauteur(m)")
plt.grid ()
plt.legend ()
plt.show ()
# Affichage de g
print("g = ", -2*a)

# Code #6: Trajectoire parabolique
import matplotlib.pyplot as plt
import numpy as np
x = [0.01 ,0.41 ,0.91 ,1.39 ,1.86 ,2.33 ,2.81 ,3.33 ,3.79 ,4.31 ,4.83 ,5.36 ,5.86 ,6.34 ,6.77]
y = [0.01 ,0.52 ,1.01 ,1.42 ,1.77 ,2.02 ,2.16 ,2.19 ,2.13 ,1.96 ,1.71 ,1.38 ,0.97 ,0.50 ,0]
n = len(x)
dt = 0.1
vx = []
vy = []
for i in range (1,n -1):
    vx.append ( (x[i+1] -x[i -1]) / (2* dt) )
    vy.append ( (y[i+1] -y[i -1]) / (2* dt) )
ax = []
ay = []
for i in range (1, len(vx) -1):
    ax.append( (vx[i+1] - vx[i -1]) / (2* dt) )
    ay.append( (vy[i+1] - vy[i -1]) / (2* dt) )
for i in range (len (vx)):
    plt.arrow (x[i+1] , y[i+1] , 0.1* vx[i], 0.1* vy[i], head_width =0.05)
for i in range (len (ax)):
    plt.arrow (x[i+2] , y[i+2] , 0.1* ax[i], 0.1* ay[i], color ="r", head_width =0.05)
plt.plot(x,y,"o-")
plt.title(" Trajectoire parabolique ")
plt.show()





# data[].attributes.body
Fichier PY Parabole

# data[].attributes.attachment_link.readable_text
﻿#!/usr/bin/env python

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

t = [] # Création d'une liste vide
x = [] # Création d'une liste vide
y = []

with open("parabole_ok.csv","r") as obj_fichier :
    print("On affiche les listes contenant les lignes du .csv")
    compteur = 0
    while 1 : # La condition est donc toujours True
        ligne = obj_fichier.readline() # On tente de lire la ligne
        if not(ligne) : # Si ligne n'existe pas, elle contient False
            break # On sort de la boucle
        else: # Sinon, c'est que ligne contient quelque chose
            ligne.replace('\n','') # On supprime le passage à la ligne finale de chaque ligne
            elements = ligne.split(';') # On crée une liste contenant les valeurs de chaque ligne
            print(elements)
            if compteur == 0 :
                grandeur_temps = elements[0]
                grandeur_abscisse = elements[1]
                grandeur_ordonnees=elements[2]
            else:
                t.append(elements[0])
                x.append(elements[1])
                y.append(elements[2])
            compteur += 1
obj_fichier.close()

#print("\nOn affiche la liste contenant les temps")
#print(t)
#print("\nOn affiche la liste contenant les positions")
#print(x)
#input("Appuyez sur ENTREE")

n = len(x)
dt = 0.1
vx = []
vy = []
for i in range(len(x)):
    x[i]=float(x[i])
    y[i]=float(y[i])
    t[i]=float(t[i])


for i in range (1,n -1):
    vx.append ( (x[i+1] -x[i -1]) / (2* dt) )
    vy.append ( (y[i+1] -y[i -1]) / (2* dt) )
ax = []
ay = []
for i in range (1, len(vx) -1):
    ax.append( (vx[i+1] - vx[i -1]) / (2* dt) )
    ay.append( (vy[i+1] - vy[i -1]) / (2* dt) )
for i in range (len (vx)):
    plt.arrow (x[i+1] , y[i+1] , 0.1* vx[i], 0.1* vy[i], head_width =0.05)
for i in range (len (ax)):
    plt.arrow (x[i+2] , y[i+2] , 0.1* ax[i], 0.1* ay[i], color ="r", head_width =0.05)
plt.plot(x,y,"o-")
plt.title(" Trajectoire parabolique ")
plt.show()

# data[].attributes.body
Fichier PY boule lestée

# data[].attributes.attachment_link.readable_text
﻿#!/usr/bin/env python

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

t = [] # Création d'une liste vide
x = [] # Création d'une liste vide
y = []

with open("boule_lestee.csv","r") as obj_fichier :
    print("On affiche les listes contenant les lignes du .csv")
    compteur = 0
    while 1 : # La condition est donc toujours True
        ligne = obj_fichier.readline() # On tente de lire la ligne
        if not(ligne) : # Si ligne n'existe pas, elle contient False
            break # On sort de la boucle
        else: # Sinon, c'est que ligne contient quelque chose
            ligne.replace('\n','') # On supprime le passage à la ligne finale de chaque ligne
            elements = ligne.split(';') # On crée une liste contenant les valeurs de chaque ligne
            print(elements)
            if compteur == 0 :
                grandeur_temps = elements[0]
                grandeur_abscisse = elements[1]
                grandeur_ordonnees=elements[2]
            else:
                t.append(elements[0])
                x.append(elements[1])
                y.append(elements[2])
            compteur += 1
obj_fichier.close()

#print("\nOn affiche la liste contenant les temps")
#print(t)
#print("\nOn affiche la liste contenant les positions")
#print(x)
#input("Appuyez sur ENTREE")

n = len(x)
dt = 0.1
vx = []
vy = []
for i in range(len(x)):
    x[i]=float(x[i])
    y[i]=float(y[i])
    t[i]=float(t[i])


for i in range (1,n -1):
    vx.append ( (x[i+1] -x[i -1]) / (2* dt) )
    vy.append ( (y[i+1] -y[i -1]) / (2* dt) )
ax = []
ay = []
for i in range (1, len(vx) -1):
    ax.append( (vx[i+1] - vx[i -1]) / (2* dt) )
    ay.append( (vy[i+1] - vy[i -1]) / (2* dt) )
#for i in range (len (vx)):
#    plt.arrow (x[i+1] , y[i+1] , 0.1* vx[i], 0.1* vy[i], head_width =0.05)
#for i in range (len (ax)):
#    plt.arrow (x[i+2] , y[i+2] , 0.1* ax[i], 0.1* ay[i], color ="r", head_width =0.05)
plt.plot(x,y,"o-")
plt.title(" Trajectoire parabolique ")
plt.show()
