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 :

Tracé de la différence de vecteurs de tailles différentes


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Par défaut Tracé de la différence de vecteurs de tailles différentes
    Bonjour,

    J'ai deux fonctions qui dépendent du temps.
    Pour la fonction 1, je dispose :
    - du vecteur t de 83 elements
    - du vecteur x1(t) de 83 élements

    Pour la fonction 2, je dispose:
    - du vecteur t de 130 élements
    - du vecteur x2(t) de 130 éléments.

    J'aimerais tracer la fonction qui a :
    - en abscisse : t de dimension 83 élements
    - en ordonnée : abs(x1(t)-x2(t)) de dimension 83 élements.

    Comme j'ai des vecteurs de tailles différentes, pouvez m'indiquer la manip à faire ?

    Je vous remercie pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Bonjour,

    Souhaites-tu effectuer cette opération sur les 83 éléments de l'un et les 83 autres premiers éléments de l'autre?

    Si oui, il te suffit de faire ceci:

    sinon, précise ta pensée.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Par défaut
    Alors j'essayer de préciser ma pensée...

    J'aimerais tracer la différence x1(t) - x2(t).

    Par contre, je n'ai pas le même nombre de points pour la variable temps pour les deux fonctions.

    Pour que ma différence est un sens, il faudrait faire x1(t)-x2(t) mais avec la même variable du temps. Donc si je prends par exemple la variable temps associée à la fonction x1(t), il faut que je calcule x2(t) pour tous les instants définies par le vecteur temps associées à la fonction 1 avant de pouvoir faire la différence.

    Est-ce que quelqu'un aurait une idée de la manip à faire ?

    Je pense qu'il doit s'agir d'une opération assez classique en matlab ?

    Merci pour votre aide

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    ça me paraît pas si classique que ça. Est-ce que tu as les échelles de temps associer à tes signaux histoire qu'on ait un ordre de grandeur?

  5. #5
    Membre chevronné
    Homme Profil pro
    Éternel universitaire
    Inscrit en
    Avril 2012
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Éternel universitaire

    Informations forums :
    Inscription : Avril 2012
    Messages : 421
    Par défaut
    Citation Envoyé par bendesarts Voir le message
    Est-ce que quelqu'un aurait une idée de la manip à faire ?
    Bonjour,

    Si j'ai bien compris, le début et la fin de tes vecteurs x1 et x2 sont les mêmes. La solution la plus simple, selon moi, est d'interpoler tes données contenues dans ton vecteur le plus court. J'ai posté une question sur l'interpolation il y a déjà quelque temps et la solution de Winjerome est très facile à mettre en oeuvre. En revanche, je ne sais pas si tu peux te permettre d'interpoler tes données dans ton cas, c'est à toi de voir .

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Par défaut
    Exactement, cette piste m'a l'air intéressante.

    Rappel:
    Ma fonction 1 se compose deux vecteurs (de taille 83 éléments):
    t1
    x1(t1)

    Ma fonction 2 se compose deux vecteurs (de taille 130 éléments):
    t2
    x2(t2)

    Voici ce que j'ai fait :

    Pour ma fonction 2, j'ai crée le vecteur x2interp qui calcule x2 aux points du vecteur t1 par interpolation de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x2interp=interp1(t2,x2,t1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(t1,abs(x1-x2interp))
    Par contre, effectivement, dans mon cas, l'interpolation doit être bien maîtrisée car je souhaite mesurer des écarts très petits en deux courbes.

    Il faut donc que j'arrive à faire que les erreurs dues à l'interpolation soit inférieur au moins 10% des erreurs que je souhaite mesurer entre mes deux courbes.

    Aussi, il faut que je règle bien:
    - soit la grille d'échantillonnage (pas discrétisation) de mon interpolation
    - soit la méthode utilisée pour l'interpolation.

    Avez-vous des conseils à ce sujet afin que je puisse limiter les erreurs liées à l'interpolation ?

    Merci d'avance pour vos conseils

Discussions similaires

  1. Correspondance entre deux vecteurs de taille différente
    Par MisterK dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 31/03/2008, 17h07
  2. Réponses: 2
    Dernier message: 05/02/2008, 11h47
  3. Réponses: 4
    Dernier message: 05/05/2007, 19h12
  4. Réponses: 1
    Dernier message: 29/03/2007, 19h17

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