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 :

Intepolation de valeurs à partir d'une matrice initiale


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Par défaut Intepolation de valeurs à partir d'une matrice initiale
    Bonjour à tous,

    Ma requête va peut-être sembler simple, mais je bloque un peu sur la procédure...

    Voilà mon problème.
    J'ai une matrice de valeurs 'M' où un point donné correspond à une combinaison de 5 variables: pour une combinaison des variables 1, 2, ..., 5, j'ai une valeurs z.

    Dans le même temps, j'ai une autre matrice 'M2' qui correspond à la combinaison des 5 mêmes variables, mais dans ce cas, je n'ai pas la valeur z.
    Entre les 2 matrices, on ne retrouve pas les mêmes combinaisons des 5 variables

    Ce que je souhaite faire, c'est définir les valeurs de z dans M2 pour chaque combinaison de variables, en fonction de ce que je possède dans ma matrice 'M'.

    ... et je bloque...

    Je pensais à l'utilisation de la fonction interpn, mais je suis loin d'être sûr de moi... pourriez vous m'aider svp??

    merci d'avance!!

  2. #2
    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
    c'est ca, il faut utiliser interpn

    ca donne quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    zM2 = interpn(M(:,1),M(:,2),M(:,3),M(:,4),M(:,5),M(:,6),M2(:,1),M2(:,2),M2(:,3),M2(:,4),M2(:,5));
    M2 = [M2 zM2];
    ou en rouge les cominaisons de référence (M), en gras et rouge le z pour ces combinaisons et en verts les combinaisons souhaités ... et ca te sort tes z pour ces combinaisons

    après tu peux changer la méthode d'interpolation (ici linéaire) par spline, cubic ..., rajouter le parametre extrapval pour extrapoler si M2 n'est pas inclu strictement dans M (pour les 5 premiers paramètres)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Par défaut
    Merci de ta réponse rapide le fab!

    Par contre, je bloque sur un truc... je me demandais si cela fonctionnait aussi simplement que ça, ou s'il y avait la nécessité de transformer les input M(:,1) ,..., M(:,6), ..., M2(:,1) , ..., M2(:,5) qui sont actuellement sous forme de vecteur?

    Merci!

  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
    j'avais supposé que ta matrice M était composé de 6 colonnes, les 5 premières correspondant aux 5 paramètres et la 6eme à z
    maintenant si tu as des vecteurs distincts tu les mets directement
    bon là mon matlab est occupé, je peux donc pas tester, mais il me semble qu'il faille des vecteurs colonnes, donc si c'est pas le cas tu met

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Par défaut
    Tu as bien supposé, mais je crois que je me suis mal expliqué dans mon 2ème message.
    Quand j'essaie de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zM2 = interpn(M(:,1),M(:,2),M(:,3),M(:,4),M(:,5),M(:,6),M2(:,1),M2(:,2),M2(:,3),M2(:,4),M2(:,5));
    j'ai ce message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error using ==> interpn at 155
    Wrong number of input arguments or some dimension of V is less than 2.
    En regardant de plus près à l'utilisation de interpn, j'ai l'impression que l'application de la fonction nécessite un passage des variables en ngrid... ce qui ne m'arrange pas à cause du out of memory....

  6. #6
    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
    autant pour moi, en effet interpn demande des matrices et non des vecteurs
    (pas l'habitude de faire des interpolations à plus de 2 variables)
    -> ngrid

Discussions similaires

  1. Extrapolation de données à partir d'une matrice
    Par Kcyril dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/04/2007, 09h52
  2. Réponses: 1
    Dernier message: 30/04/2006, 14h24
  3. Réponses: 1
    Dernier message: 19/01/2006, 19h36
  4. Map à partir d'une matrice
    Par Aldur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 20h45
  5. valeurs propres d'une matrice et vecteurs propres
    Par la_fantomas dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 01/05/2005, 15h35

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