Affichage des résultats 1 à 8 sur 8

Surface 3D sous Matlab



  1. #1
    Atékarone

    Surface 3D sous Matlab


    ------

    Bonjour,

    Dans l'objectif des TPE, et d'un sujet sur les forces exercées sur un avion, j'utilise Matlab pour modéliser le déplacement de l'aéronef suivant des paramètres de vol variables. Cependant, pour la partie concernant le calcul de la masse volumique de l'air (dépendant de la température, qui dépend elle-même de l'altitude et de la latitude (l'épaisseur des couches de l'atmosphère diffèrent en fonction de la position sur le globe)), il me faut intégrer une surface en 3D, dont les entrées sont justement la latitude et l'altitude, et la sortie correspond à la température. J'ai malheureusement quelques difficultés concernant l'utilisant de la fonction, dont j'ai peu l'habitude de me servir.



    J'ai la position des points où la surface varie (où elle n'est plus plate). La méthode d'interpolation est en effet linéaire. Que dois-je alors entrer dans la Table data ?

    Aussi, j'aimerais pouvoir visualiser la surface, mais avec quel outil ?

    Merci d'avance.

    -----

  2. Publicité
  3. #2
    sayag

    Re : Surface 3D sous Matlab

    bonjour,

    j'essai de faire la meme chose mais sans avoir besoin de visualiser graphiquement.
    Connaissez vous une fonciton MatLab pour fitter despoints en une surface ?

  4. #3
    ketchupi

    Re : Surface 3D sous Matlab

    Bonjour,

    je pense pouvoir vous aider, mais je n'ai pas bien compris le sens de votre question. Un schéma serait le bienvenu... ou la forme des données d'entrées... parce que ce n'est pas encore très clair.

    ++

  5. #4
    spoutnix

    Re : Surface 3D sous Matlab

    En meme temps la variation de densité de l'atmosphere due a la latitude et a la longitude est quand meme assez minime... Elle existe certainement, mais comparée aux autres paramètres, c'est un peu chercher les ennuis.

    D'une part on connait des lois comportementales de la variation de masse volumique de l'atmosphere qui sont des modeles plus ou moins expérimentaux et qui sont relativement peu précis (suffisemment pour faire des calculs approchant la réalité). Je ne comprend pas l'utilité de regarder la modification de densité en fonction de la longitude et de la latitude dont la valeur est bien en dessous de la précision du modèle.

    Prend tu en compte le rechauffement (donc variation de densité !) de l'air au passage de l'avion (qui dépend de la géométrie de l'avion), la variation de densité due aux phénomènes météorologiques ainsi que le vol des mouettes ?

    En plus la variation de force (qui ne voudras rien dire face a la précision du modele) te donnera un ordre de grandeur bien négligeable par rapport à la variation de poids de l'avion du à la baisse du niveau de kérosene ou par rapport aux irrégularités géométriques de l'avion (boulon, morceau de métal, inclinaison des volets, variation entre le dessin théorique de l'avion et la réalité).

    Bref c'est un peu sortir la carabine pour tuer une mouche, tu risques de passer a coté...

  6. A voir en vidéo sur Futura
  7. #5
    sayag

    Re : Surface 3D sous Matlab

    Ben en fait moi c'est pas du tout pour une etude physique.

    C'est pour faire une sorte de mini editeur 3D :

    j'ai entre 3 et +++ points 2D qui contiennent une grandeur, imaginez que ce sont des arbre, j'ai donc leur position XY, et leur taille.
    Je veux envoyer ces infos a MatLab pour qu il me retourne la surface de la foret, en supposanr bien sur que les tailles des arbres sont "regulieres"...

    C'est un peu entre le fit de ligne (curve, polynomial...) et le tracé de surface 3d (surf).

    Mon objectif, c'est de pouvoir bouger sur une application WinForm (Csharp, visual studio) mes trois arbres par exemple, et envoyer en boucle leurs positions a matlab pour quil me renvoit sans cesse le nouvel apercu de la foret...

    J'ai tapé ca dans mon code pour l'instant mais ca ne va pas bien loin :

    Code:
      IDictionaryEnumerator fff = arbreList.GetEnumerator();
                    while (fff.MoveNext())
                    {
                        Arbre arb = (Arbre)objectList.Values;
                        if(pathAnchoring.IsVisible(arb.getPoint()) && arb.IsAlive())
                        {
                            int i = arb.getXPos();
                            int j = arb.getYPos();
                            int k = arb.getTaille();
                            foretMat[i][j]=k;
                        }
                    }
    
                    MLApp.MLAppClass matlab = new MLApp.MLAppClass();
                    
                    matlab.IMLApp_PutFullMatrix("a", "base", songMat, songMat);
    
                    matlab.IMLApp_Execute(Application.StartupPath + "\\Interpolation.m");
                    
                    Array mrresult = new int[640][];
                    Array miresult = new int[640][];
    
                    matlab.IMLApp_GetFullMatrix("a", "base", ref mrresult, ref miresult);
                }

  8. #6
    Ryuujin

    Re : Surface 3D sous Matlab

    perso j'utilise tpaps puis fnplt, et je récupère une matrice ensuite.

  9. Publicité
  10. #7
    sayag

    Re : Surface 3D sous Matlab

    Bonjour,

    Je veux utiliser interp2 pour fitter les dimensions z de points z=f(x,y).
    Je me suis renseigné sur cette méthode, mais d'après ce que j'ai lu,
    il faut déjà bien remplir une matrice (xi, yi) avec des valeurs zi, et ensuite on peut fitter entre 2 points.

    D'après la doc, par exemple on rempli tous les points (1,1) (1,2) (2,1) ...
    et on peut fitter pour obtenir le point (2.3, 4.8)
    -------
    Ce que je voulais faire en utilisant cette fonction, c'est fitter 3 points par exemple, oui que 3, pour obtenir une surface entière.
    Donc si je fittais 2 points j'obtenais un plan...

    Est ce qu'il y a une leilleure fonction ?

    Ou est ce que je vais devoir faire un tas d iterations, en remplissant tous les autres points que mes 3 points par Zéro, et en fittant, fittant, fittant...

    Un grand merci pour vos réponses.

    Henry
    sayag est en ligne Envoyer un message privé Modifier/Supprimer le message

  11. #8
    kkneo

    Re : Surface 3D sous Matlab

    Citation Envoyé par sayag Voir le message
    bonjour,

    j'essai de faire la meme chose mais sans avoir besoin de visualiser graphiquement.
    Connaissez vous une fonciton MatLab pour fitter despoints en une surface ?
    Je suis pas sur d'avoir bien compris

    Ben essaie de regarder du coté de griddata il y a plusieurs choses dont une triangulation de delaunay avec une interpolation linéaire ou cubique dans les triangles.
    Si tu veux juste afficher ta surface et ploter tes points dessus tu fais un surf pour la surface et un plot3 pour afficher les points

Discussions similaires

  1. Actu - La salinité de surface des océans sous surveillance
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 7
    Dernier message: 02/09/2015, 17h36
  2. Exécutable sous Matlab
    Par Sahoma84 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 08/06/2007, 09h42
  3. Matlab-detection d'objet et calcul de surface.
    Par nadia1234 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 26/10/2005, 22h36
  4. Une mer congelée sous la surface de Mars
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 23/02/2005, 10h18
  5. Regression sous MatLab
    Par Marco Apprenti-Ingénieur dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 15/12/2004, 21h03