IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

problème d' interpolation


Sujet :

MATLAB

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut problème d' interpolation
    Bonjour,

    j'ai un jeu de donnée au départ avec le temps, l’évolution de ma distance et une altitude.

    Mon temps a un pas constant de une seconde. A chaque seconde, j'ai une valeur de ma distance et de mon altitude.

    Nom : Capture.PNG
Affichages : 361
Taille : 30,0 Ko

    Ensuite, j'ai fais en sorte que ce soit la distance qui est un pas constant. Ce que j'aimerai faire, c'est trouver les nouvelles valeurs du temps et de l'altitude en fonction de la distance avec un pas constant.
    J'ai essayé une interpolation linéaire mais ça ne fais pas ce que je veux.

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur en science de l'environnement
    Inscrit en
    Août 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en science de l'environnement

    Informations forums :
    Inscription : Août 2013
    Messages : 97
    Par défaut
    Citation Envoyé par aeon42 Voir le message
    J'ai essayé une interpolation linéaire mais ça ne fais pas ce que je veux.
    C'est normal, ta variable altitude ne réagit pas linéairement avec le temps et la distance. Tu ne pourras surement pas interpoler cette valeur.

    Sinon pour ce qui est de la distance et du temps tu peux utiliser:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    interp1(valeur_distance,valeur_temps,new_distance);

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    merci pour ta réponse mais quand j'applique ton conseil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newtt=interp1(evo_dist,temps,evo_dist_new);
    Cela me créer une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Error using griddedInterpolant
    The grid vectors are not strictly monotonic
    increasing.
     
    Error in interp1 (line 191)
            F = griddedInterpolant(X,V,method);
    Pourtant mes matrices font toutes la même taille.

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    salut

    essayes avec la fonction griddata
    elle sert à gérer des interpolations avec des "données éparpillées", ce que tu as

    Fabien

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en science de l'environnement
    Inscrit en
    Août 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur en science de l'environnement

    Informations forums :
    Inscription : Août 2013
    Messages : 97
    Par défaut
    Citation Envoyé par le fab Voir le message
    salut

    essayes avec la fonction griddata
    elle sert à gérer des interpolations avec des "données éparpillées", ce que tu as

    Fabien
    En effet je pense que du coup ce sera plus simple avec griddata.

    Juste pour information, l'erreur vient du faite qu'une de tes variables n'est pas strictement croissante.

    Si tu voudrais quand même utilisé interp1 tu devras donc d'abord rendre tes vecteurs strictement croissant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [evo_dist,I]=sort(evo_dist);
    temps=temps(I);
    [evo_dist, ia, ~] = unique(evo_dist);
    temps = temps(ia);
    Mais encore une fois, le fait que tes vecteurs ne soit pas strictement croissant va rendre l'interpolation moins robuste,... tu demandes a matlab d'interpoler une variable qui peut prendre plusieurs valeurs différentes pour un même point.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    Déja merci pour vos réponses.

    Si j'utilise ta méthode petchi avec interp1, le problème est que je ne vais pas avoir la même taille de matrice.

    Donc du coup j'essaye d'utiliser la fonction griddata mais je comprend pas trop ce qui faut mettre en arguments.

    Merci.

Discussions similaires

  1. [Débutant] [interp1] problème d'interpolation
    Par groovyinstinct dans le forum MATLAB
    Réponses: 13
    Dernier message: 21/07/2009, 14h12
  2. Problème d'interpolation cubique et dérivée
    Par quarante-sept dans le forum Graphisme
    Réponses: 0
    Dernier message: 26/03/2009, 23h20
  3. [Interp1] Problème d'interpolation
    Par mathylde dans le forum MATLAB
    Réponses: 9
    Dernier message: 07/07/2008, 17h17
  4. Problème d'interpolation dans un graphique 3D
    Par Ptit oui-oui dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/11/2007, 20h05
  5. Shell et perl problème d'interpolation de variable.
    Par Whaouu dans le forum Langage
    Réponses: 7
    Dernier message: 26/10/2005, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo