3D plot of 3 vectors

143 views (last 30 days)
Francesco Porretta
Francesco Porretta on 28 Nov 2020
Commented: Ameer Hamza on 28 Nov 2020
- error -
  1 Comment
Ameer Hamza
Ameer Hamza on 28 Nov 2020
Dear all, I have the three vectors reported in the file "data.mat" (x,y,z respectively).
I need to 3D plot them. However, something strange happen, since the z vector is 0 all around the borders, but plotting it I obtained that z is 0 only in 4 points (along y=0 axis), as shown in the figure below:
I wrote this code, to do the plot above:
x = data(:,1);
y = data(:,2);
[X,Y] = meshgrid(x,y);
z = data(:,3)
Z = meshgrid(z);
sup = surf(X,Y,Z)
thanks in andvance for your help

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 28 Nov 2020
You first need to convert your data into a grid format using scattered interpolation
x = data(:,1);
y = data(:,2);
z = data(:,3);
mdl = scatteredInterpolant(x, y, z);
[xg, yg] = meshgrid(unique(x), unique(y));
zg = mdl(xg, yg);
sup = surf(xg,yg,zg)
  2 Comments
Francesco Porretta
Francesco Porretta on 28 Nov 2020
It works! thank you so much!
Ameer Hamza
Ameer Hamza on 28 Nov 2020
I am glad to be of help!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!