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 :

Création cartographie à partir de données expérimentales


Sujet :

MATLAB

  1. #1
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut Création cartographie à partir de données expérimentales
    Bonjour à tous,

    j'ai besoin de mettre en forme des données expérimentales pour en créer une cartographie 3D.
    Je m'explique, j'ai 3 données X, Y et Z que j'importe depuis un fichier Excel. X, Y et Z sont tous les trois des vecteurs colonnes.
    D'habitude, pour ce genre de chose, mon code est du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clc; clear all; 
    excel_name = 'fichier.xls';
     
    Z = xlsread(excel_name,'E1:E20');
    Y = xlsread(excel_name,'D1:D20').';
    X = xlsread(excel_name,'B1:B20');
     
    Y_sorted = sort(Y);
    X_sorted = sort(X);
     
    Z_calcul = griddata(X,Y,Z,X_sorted,Y_sorted); 
    figure,mesh(X_sorted,Y_sorted,Z_calcul)
    Et ça fonctionne.

    Ce que j'aurai souhaité, c'est utiliser la fonction interp2 mais le "souci" c'est qu'il faut que les données soient monotones. En utilisant, la fonction interp2 avec les données telles quelles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Z_calcul = interp2(X,Y.',Z,X_sorted,Y_sorted);
    je me retrouve avec un joli :
    X and Y must be monotonic vectors or matrices produced by MESHGRID.
    J'ai lu la doc de la fonction meshgrid mais je n'en comprends pas le fonctionnement...
    Quelqu'un pourrait-il m'aiguiller svp ?
    D'avance merci !

    Edit : en essayant ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Xi,Yi,Zi] = meshgrid(X,Y,Z);
    Z_calcul = interp2(Xi,Yi,Zi,X_sorted,Y_sorted);
    J'obtiens de nouveau une erreur :
    X and Y must be matrices produced by MESHGRID. Use TriScatteredInterp instead of INTERP2 for scattered data.
    Il me semble pourtant que j'ai fait ce qui est demandé, non ?
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  2. #2
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    Ca devrait ressembler à qqchose comme ça.... (sans garantie, faudra ptêt débugger)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Xmin = min(X) ;
    Xmax=max(X) ;
    Ymin = ...
    Ymax = ...
    Xrange = linspace(Xmin, Xmax, 100) ;
    Yrange = linspace(Ymin, Ymax, 100) ;
    [Xgrid, Ygrid, Zgrid] = griddata(X,Y,Z,Xrange,Yrange) ;
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Pour utiliser INTERP2, il faut obligatoirement que les couples de valeurs (X,Y) forment une grilles régulière complète.

    Est-ce le cas ?

    Serait-il possible de nous fournir un fichier xls ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  4. #4
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par ol9245 Voir le message
    Ca devrait ressembler à qqchose comme ça.... (sans garantie, faudra ptêt débugger)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Xmin = min(X) ;
    Xmax=max(X) ;
    Ymin = ...
    Ymax = ...
    Xrange = linspace(Xmin, Xmax, 100) ;
    Yrange = linspace(Ymin, Ymax, 100) ;
    [Xgrid, Ygrid, Zgrid] = griddata(X,Y,Z,Xrange,Yrange) ;
    Merci pour ta réponse
    Ta solution n'est pas satisfaisante car comme je te l'ai dit, je souhaite utiliser la fonction interp2. De plus, le Zgrid créé dans ton code est un vecteur alors que je souhaite avoir une matrice. Mais merci de ton intérêt !


    Citation Envoyé par Dut Voir le message
    Pour utiliser INTERP2, il faut obligatoirement que les couples de valeurs (X,Y) forment une grilles régulière complète.

    Est-ce le cas ?
    Merci également de ta réponse Dut !
    Déjà, je n'ai pas encore saisi la notion de "grille complète régulière". J'ai l'impression que c'est ce que fait meshgrid mais je n'en comprends pas le concept.
    Non, ce n'est pas le cas justement :
    Citation Envoyé par lecteur1001 Voir le message
    le "souci" c'est qu'il faut que les données soient monotones.
    C'est justement pour cette raison que j'avais l'erreur
    Citation Envoyé par lecteur1001 Voir le message
    X and Y must be monotonic vectors or matrices produced by MESHGRID.
    Citation Envoyé par Dut Voir le message
    Serait-il possible de nous fournir un fichier xls ?
    Ok, je t'en mets un extrait dans le fichier.xls ci-joint. X, Y et Z étant respectivement la 1ère, 2nde et 3e colonne.
    Fichiers attachés Fichiers attachés
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Pour INTERP2, il faut que la grille ressemble à une feuille de papier avec des carreaux 5x5.

    Dans ton cas, comme on te l'a suggéré précédemment, il faut utiliser GRIDDATA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    XYZ = xlsread('fichier.xls','Feuil2','','basic');
     
    uX = unique(XYZ(:,1));
    nuX = numel(uX);
     
    X = reshape(XYZ(:,1),nuX,[]);
    Y = reshape(XYZ(:,2),nuX,[]);
    Z = reshape(XYZ(:,3),nuX,[]);
     
    Xi = linspace(min(XYZ(:,1)),max(XYZ(:,1)),30);
    Yi = linspace(min(XYZ(:,2)),max(XYZ(:,2)),30);
     
    [Xi,Yi] = meshgrid(Xi,Yi);
     
    Zi = griddata(X,Y,Z,Xi,Yi);
     
    figure
    plot3(XYZ(:,1),XYZ(:,2),XYZ(:,3),'r*');
    hold on
    surf(Xi,Yi,Zi)
    axis equal
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Merci pour ta réponse mais peux-tu me dire ce que tu as fait sur la Feuil2 avec le fichier.xls ?
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Rien rien...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  8. #8
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par Dut Voir le message
    Rien rien...
    Ben oui mais comment veux-tu que j'analyse ton code si je ne sais pas sous quelle forme sont tes données d'entrée ? ^^
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    J'ai supprimé des valeurs car il me semblait que tu avais tronqué le jeu de données.

    La feuille 2 contient :
    2400	205	130
    2300	343	117
    2200	518	110
    2100	536	109
    2000	563	107
    1900	592	105
    1800	624	104
    1700	658	103
    1600	674	102
    1500	671	102
    2400	165	138
    2300	313	119
    2200	465	111
    2100	487	110
    2000	511	108
    1900	538	106
    1800	567	105
    1700	600	103
    1600	638	102
    1500	665	102
    2400	145	143
    2300	274	121
    2200	408	112
    2100	427	110
    2000	448	109
    1900	471	107
    1800	497	105
    1700	526	104
    1600	559	103
    1500	582	102
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  10. #10
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Effectivement, ta méthode marche au poil !
    Merci bien !

    Simple bémol : il est possible, dans certain cas seulement, que l'étape reshape ne fonctionne pas.
    Par exemple, j'ai un cas où X fait 201 éléments, son unique fait 21 éléments. Donc lorsqu'on exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X = reshape(XYZ(:,1),nuX,[]);
    On se retrouve avec l'erreur :
    ??? Error using ==> reshape
    Product of known dimensions, 21, not divisible into total number of elements, 201.
    Que me conseillerais-tu de faire dans ce cas précis ?

    Merci encore
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Tout dépend de la position des valeurs manquantes ou en trop

    Si on considère par exemple qu'il manque des données à la fin du fichier, tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nuX = numel(uX);
    n = floor(size(XYZ,1)/nuX);
     
    X = reshape(XYZ(1:n*nuX,1),nuX,[]);
    A toi de voir pourquoi certaines données manquent ou sont en trop.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  12. #12
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par Dut Voir le message
    Tout dépend de la position des valeurs manquantes ou en trop

    Si on considère par exemple qu'il manque des données à la fin du fichier, tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nuX = numel(uX);
    n = floor(size(XYZ,1)/nuX);
     
    X = reshape(XYZ(1:n*nuX,1),nuX,[]);
    A toi de voir pourquoi certaines données manquent ou sont en trop.
    Je fais avec les données qu'on me fournit !

    Pour moi, ta solution "oublie" certaines données puisqu'on ne conserve que n*nuX données. Je ne vois effectivement pas comment on pourrait faire autrement.
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  13. #13
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par lecteur1001 Voir le message
    Je fais avec les données qu'on me fournit !

    Pour moi, ta solution "oublie" certaines données puisqu'on ne conserve que n*nuX données. Je ne vois effectivement pas comment on pourrait faire autrement.
    Je précise ma pensée.
    Effectivement, ta solution ne permet pas de prendre en compte toutes les données fournies. C'est ce que tu as fait en supprimant des données de la Feuil1 du fichier Excel que j'avais fourni en début de discussion. Mais comment faire s'il "manque des données" pour reprendre ton expression ? Est-ce mathématiquement insoluble ?

    Merci en tout cas !
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  14. #14
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Je ne comprends plus pourquoi je suis allé chercher une solution aussi compliquée

    Fais simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    XYZ = xlsread('fichier.xls','Feuil1','','basic');
     
    Xi = linspace(min(XYZ(:,1)),max(XYZ(:,1)),30);
    Yi = linspace(min(XYZ(:,2)),max(XYZ(:,2)),30);
     
    [Xi,Yi] = meshgrid(Xi,Yi);
     
    Zi = griddata(XYZ(:,1),XYZ(:,2),XYZ(:,3),Xi,Yi);
     
    figure
    surf(Xi,Yi,Zi)
    hold on
    plot3(XYZ(:,1),XYZ(:,2),XYZ(:,3),'r*')
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 352
    Points
    352
    Par défaut
    une variante a griddata est d'utiliser la fonction gridfit disponible sur le file exchange de mathworks
    lien de telechargement :http://www.mathworks.com/matlabcentr...eexchange/8998
    la fonction est certifié par mathworks et te permet différente approximation et de lissage

    a partir de tes vecteurs X Y et Z (ça s'appel un nuage de point épart il me semble un truc comme ça ) tu ressort une surface de la taille que tu veux.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    xnodes=1:floor(max(X))+1;
    ynodes=1:floor(max(Y))+1;% la fonction ajuste la grille automatiquement mais autant le faire avant pour ne pas perdre de temps
     
    surface=gridfit(X,Y,Z,xnodes,ynodes) % par defaut interp triangulaire + minimisation des dérivées premiere avec un coef de lissage de 1 ( voir la doc de la fct)

  16. #16
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par Dut Voir le message
    Fais simplement ceci
    Effectivement, je me suis demandé depuis le début à quoi servait "l'étape reshape".

    Citation Envoyé par gpcbitnik38 Voir le message
    une variante a griddata est d'utiliser la fonction gridfit disponible sur le file exchange de mathworks
    Merci beaucoup pour cette fonction qui semble fonctionner parfaitement !
    En plus, elle a l'avantage de créer une matrice ne contenant pas des NaN. Faut que je lise sa doc un peu plus précisément pour comprendre par quoi la fonction les remplace mais de prime abord, j'ai l'impression qu'elle cherche les valeurs les plus proches et se fige à ses valeurs-là.

    Par contre, je n'ai pas compris le sens de ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xnodes=1:floor(max(X))+1;
    ynodes=1:floor(max(Y))+1;% la fonction ajuste la grille automatiquement mais autant le faire avant pour ne pas perdre de temps
    Moi j'ai réparti les données d'entrée de la même manière que Dut : avec linspace.

    En tout cas merci beaucoup !
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Identification d 'un système à partir de données expérimentale
    Par celtic29 dans le forum Signal
    Réponses: 8
    Dernier message: 16/06/2011, 19h04
  2. Réponses: 18
    Dernier message: 18/02/2008, 09h23
  3. Réponses: 1
    Dernier message: 10/10/2007, 10h42
  4. Réponses: 3
    Dernier message: 28/05/2007, 13h11
  5. [Excel] Création de colonne à partir de données SGBD
    Par Toxick dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 31/10/2006, 08h30

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