Surface de la parcelle avec 3 vecteurs Matlab

J'ai besoin d'être en mesure de faire une surface de la parcelle à l'aide de données à partir de 3 vecteurs. J'ai trouvé des informations similaires, mais aucune méthode semble fonctionner avec mes données. Mon X et Y colonnes sont régulièrement espacés, mais pas dans l'ordre croissant. J'ai essayé différentes méthodes, mais aucune d'entre elles semblent me donner ce que je veux, qui est une simple surface linking à proximité des points ensemble. J'ai essayé le suivant:

[X Y]=meshgrid(x,y);
Z=griddata(x,y,z, X,Y);
surf(X,Y,Z);

Ce n'est pas exactement ce que je veux, parce qu'il crée une surface à z=0 et en fait ressemble plus à un volume de la parcelle que juste une surface. Il fonctionne aussi très lentement sur mon ordinateur (probablement à partir de la création de tous les gridpoints). Si je pouvais obtenir quelque chose qui n'a pas besoin d'autant de mémoire qu'elle serait l'idéal (à mon vecteurs ont environ 20k valeurs de chacun), mais ce n'est pas une nécessité.

***Edit: j'ai aussi essayé d'utiliser le scatteredInterpolant méthode à la ici,mais la fonction ne semble pas être reconnu par MATLAB et j'obtiens cette erreur:

Undefined function 'scatteredInterpolant' for input arguments of type 'double'.

Aussi, voici une image de mon problème:
Surface de la parcelle avec 3 vecteurs Matlab

Vous pouvez voir que nous ne pouvons pas voir sous la surface, il y a quelques plan z=0, la bloque.

Si vous avez quelque chose pour moi, toute aide est très appréciée.

Merci d'avance.

**Edit 2: j'ai ajouté de l'échantillon vecteurs, ils sont mon x,y et z les valeurs de la gauche vers la droite.

***Edit 3: Voici une image de la triangulation que je reçois. Comme vous pouvez le voir, certains points sont ignorés pour une raison quelconque, ce qui donne à ces long et bizarre à la recherche triangles bleus.

Surface de la parcelle avec 3 vecteurs Matlab

Mike

  • Il aide si vous ne Z(~Z)=NaN? Ou si vous utilisez un autre method comme décrit dans doc griddata? Sinon, s'il vous plaît poster des exemples de code et des vecteurs de parfaitement reproduire le problème.
  • Quand je fais Z(~Z)=NaN-je obtenir un flatter les bas mais je ne peux toujours pas voir à travers elle, elle le ferme et forme un volume. Mes vecteurs sont assez grands, je vais essayer de trouver un moyen de les lier.
  • Êtes-vous sûr que vos données ne contiennent pas les valeurs faibles qui sont tracées? Quel est le minimum de z où x et y sont entre 0,8 et 1,2? Aussi, n'oubliez pas d'essayer les différentes griddata options.
  • Oui, dans le cas d'un nuage de points, nous pouvons clairement voir qu'il n'y a pas de points en vertu de la surface. J'ai essayé toutes les méthodes dans griddata et ils ont tous se ressembler. Est-il possible de le faire sans l'aide d'une grille? Il n'y a pas d'options qui semble juste à divers points et tente de faire le lien avec une surface si elles sont suffisamment proches l'un de l'autre? La grille de rendre les bords carrés et il n'est pas vraiment souhaitable/ La méthode de delaunay presque atteint, mais il semble y avoir une erreur avec la méthode de triangulation, qui donne d'étranges liens, les couleurs, et le même plan z=0 problème.
InformationsquelleAutor Mike Nelson | 2013-11-21