MATLAB Answers

plot 5 indipendent vectors in 3D plot

4 views (last 30 days)
Francesco Porretta
Francesco Porretta on 4 Sep 2021
Answered: darova on 8 Sep 2021
I have 5 vectors of related elements, in the sense that the first element of vector A is connected to the first elements of vectors B, C, D, E, the second with the seconds, and so on: they represents the x, y, z, phi and delta coordinates of points.
I'm searching for a way to plot this vectors as surface plot or scatterplot, but I really don't know if it is possible to do.
Someone can help??
  2 Comments
Francesco Porretta
Francesco Porretta on 8 Sep 2021
okay, sorry. Let's make an example:
x = [1 2 3]
y = [4 5 6]
z = [7 8 9]
phi = [0 30 0]
delta = [1 3 5]
x, y, z and phi represent the coordinates of 3 points, and delta their characteristics. For example, the point [x,y,z,phi] = [1,4,7,0] has characteristic delta = 1.
I'm searching for a way for rapresents the 3 points and their respective characteristics as a surface, where the colour represents the caracteristic of each point on this surface.
Hoping it is more clear, I'm sorry, it is my fault.

Sign in to comment.

Accepted Answer

darova
darova on 8 Sep 2021
Just use griddata to interpolate data
Delta is represented by color.
x = 20*rand(100,1)-10; % surface coordinates
y = 20*rand(100,1)-10;
r = hypot(x,y);
z = -r.^2/10;
delta = sin(r); % surface color (characteristic)
xx = linspace(min(x),max(x),50);
yy = linspace(min(y),max(y),50);
[X,Y] = meshgrid(xx,yy); % create a mesh
Z = griddata(x,y,z,X,Y); % interpolate Z coord
D = griddata(x,y,delta,X,Y);% interpolate delta
scatter3(x,y,z,25,delta,'filled')
surface(X,Y,Z,D,'facecolor','interp')
axis equal
colorbar

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by