Sur-échantillonner une courbe

81fe1250 6ec2 4f98 921a 9d5a15ad3803

Bonjour à tous,

J’ai actuellement une base de données de vitesse en fonte du temps sur 600 s en base de temps 1s (donc 600 points) j’aimerais passer en base de temps 0.1s et créé des pentes linéaire entre chaque points de vitesses comment puis-je faire ?

J’ai déjà effectué la modification sur les 30 premiers points manuellement mais c’est très long (voir photo)

Bonjour,

En joignant ton fichier Excel, ça nous facilitera beaucoup le travail !

bonjour,

edit : salut Pedro22

choisir un autre type de graphique (points reliés par une courbe ou une droite) ne convient-il pas ?

bonjour,

avec un autre type de graphe

Je crois que ma question à été mal formulé, je réexplique. Je voudrais savoir si une méthode existe pour automatisé un passage du tableau n°1 au tableau n°2 :

Tableau n°1:

0 s12
0 km/h10 km/h5 km/h

Tableau n°2:

0.0s 0.1s0.2s0.3s0.4s0.5s0.6s0.7s0.8s0.9s1.0s1.1s1.2s1.3s1.4s1.5s1.6s1.7s1.8s1.9s2.0s
0km/h1km/h2km/h3km/h4km/h5km/h6km/h7km/h8km/h9km/h10km/h9.5km/h9km/h8.5km/h8km/h7.5km/h7km/h6.5km/h6km/h5.5km/h5km/h

Le but ai donc de tracer la même courbe dans les deux cas mais dans le cas du tableau 1 la base de temps est de 1s (1Hz) et dans le tableau 2 la base de temps est de 0.1s (10Hz).

Bonjour,

Je pense que la question de h2so4 est plutôt de savoir si ce qui t'intéresse, c'est les valeurs du tableau, ou juste l'affichage graphique (et donc le visuel uniquement) ?

Bonjour,

oui c'est possible. mais cela te donnera le même graphe (l'interpolation linéaire te donnant les points de la droite). Si l'objectif est de produire le graphique, il n'y a pas besoin de calculer les points intermédiaires.

6tom-remilleux.xlsx (19.04 Ko)

edit : Salut Pedro, en effet tout dépend du but recherché (j'ai compris que c'était de faire le graphe).

Non l'objectif n'est pas de produire un graphe mais bien de calculer les points intermédiaire sur une base de temps plus faible.

bonjour,

une proposition via une macro.

Parfait merci beaucoup, est-il possible d'avoir un descriptif de la macro utilisé pour que je puisse le refaire moi même si j'en ai besoin ultérieurement ?

re-bonjour,

voici le code commenté

Sub aargh()
    Dim t, tabres()
    With ActiveSheet 'on utilise la feuille active
        dl = .Cells(Rows.CountLarge, 1).End(xlUp).Row 'nombre de ligne dans la colonne des x
        t = Range("A1").Resize(dl, 2) 'copie les x et les y connus dans une table
        ReDim tabres(1 To dl * 11, 1 To 2) 'on définit une tableau pour les résultats
        k = 0 'ctr de lignes résultats
        For i = 1 To dl - 1 'pour chaque ligne de x connus
            x1 = t(i, 1) 'premier x de l'intervalle
            y1 = t(i, 2) 'y correspondant
            x2 = t(i + 1, 1) ' dernier x de l'intervalle
            y2 = t(i + 1, 2) ' correspondant
            ra = (y2 - y1) / (x2 - x1) 'pente delta y / delta x
            For j = t(i, 1) To t(i + 1, 1) Step 0.1 'step 0.1 on génére les données par pas de 0.1 pour cet intervalle
                k = k + 1 'incrémente compteur de lignes résultats
                tabres(k, 1) = j 'nouvel x
                tabres(k, 2) = (j - x1) * ra + y1 'y correspondant
            Next j
        Next i
        k = k + 1 'dernier x
        tabres(k, 1) = t(dl, 1)
        tabres(k, 2) = t(dl, 2)
        .Range("D1").Resize(k, 2) = tabres 'mettre tableau résultats dans la feuille en prenant D1 comme base
    End With
End Sub
Rechercher des sujets similaires à "echantillonner courbe"