Comment puis-je faire un surf de la parcelle dans MATLAB avec espacés de manière irrégulière des données?
Je sais que je peux créer un 3D de la surface de la parcelle dans MATLAB par:
x = linspace(1,10,100);
y = linspace(10,20,100);
[X Y] = meshgrid(x,y);
Z = X * Y;
surf(X,Y,Z);
Mais cela nécessite que tous les nœuds de la carte de hauteur généré ligne. J'ai un ensemble de données qui a arbitraire de points (x,y) et une hauteur (z). Est-il un moyen simple de tracer un graphique qui va générer une surface entre les points d'une manière similaire à surf
?
OriginalL'auteur JP. | 2010-05-17
Vous devez vous connecter pour publier un commentaire.
Appologies, après un peu de chasse, j'ai réussi à répondre à ma propre question:
Vous pouvez utiliser le
trisurf
fonction:Si vous avez denses de données que vous voulez faire
shading interp
(ou une autre valeur, vérifierdoc shading
) si vous n'obtenez pas un noir blob en raison de la grille.edgeColor
ànone
.OriginalL'auteur JP.
On dirait que vous avez trouvé votre réponse en utilisant DELAUNAY et TRISURF de générer et de tracer une surface triangulée.
Comme alternative, vous pouvez aussi correspondre à un espacement régulier de la grille de vos valeurs d'interligne des points en vue de générer une surface qui peut être tracée avec le SURF de commande. Je discuter de la façon dont cela peut être fait à l'aide de la TriScatteredInterp de la classe (ou le obsolète fonction GRIDDATA) dans ma réponse à cette autre question sur DONC.
OriginalL'auteur gnovice