Plotting points in 3D with mesh

58 vues (au cours des 30 derniers jours)
AFRAZ SALIM
AFRAZ SALIM le 26 Avr 2020
Commenté : AFRAZ SALIM le 26 Avr 2020
I have three vectors (X,Y,Z) of equal size. I want to plot them in 3D and interpolate the points. I use following code to plot the points but the figure that i get is not good enough. The plot that i get is also attached. Can someone explain kindly, what i am doing wrong. if more information is needed then kindly let me know.
Note that one vector represents x-coordinate while second represents y-coordinate and third one z-coordinate. If there is any better to visualize this scatter plot(interpolated) that will be also great.
plot3(first_test_vector,second_test_vector,test_label,'.'),hold on
title('1000 points selected for training data & interpolation of test data')
xlabel('x'), ylabel('y'), zlabel('Values')
legend('Sample data','Interpolated test data','Location','Best')
x = meshgrid(first_test_vector);
y = meshgrid(second_test_vector);
z = meshgrid(test_label);
mesh(x,y,z)
colorbar
title('Interpolated test data')
legend('Sample Points','Interpolated test data','Location','NorthWest')
  1 commentaire
Rik
Rik le 26 Avr 2020
Do you want to create a surface? And can you share your data or write code that will generate plausible data?

Connectez-vous pour commenter.

Réponse acceptée

J. Alex Lee
J. Alex Lee le 26 Avr 2020
Modifié(e) : J. Alex Lee le 26 Avr 2020
For just visualizing the chosen data in a surface, does this look like what you want?
clc;
close all;
clear;
N = 500;
X = rand([N,1])*2*pi;
Y = rand([N,1])*2*pi;
Z = sin(X).*cos(Y);
scatter3(X,Y,Z,'.')
T = delaunay(X,Y)
hold on
trimesh(T,X,Y,Z,"FaceAlpha",0)
For actual interpolating, look into "scatteredInterpolant"
  1 commentaire
AFRAZ SALIM
AFRAZ SALIM le 26 Avr 2020
Thanks, It worked :)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by