3d plot from knows XYZ

Hello, i have known list of numbers:
x = [0 10 20 30 0 10 20 0 10 20 30];
y = [0 0 0 0 15 15 15 15 30 30 30 30];
t = [20 22 25 23 22 27 30 25 19 20 18 22];
I used: [X,Y] = meshgrid(x,y), but i'm struggeling with understanding what to do with those t values.
thank you

Respuestas (2)

Star Strider
Star Strider el 26 de Feb. de 2023
Editada: Star Strider el 26 de Feb. de 2023
It will be necessary to interpolate them to create a surface.
There are seeral ways to interpolate them, my favourite being the scatteredInterpolant function.
Try something like this —
x = [0 10 20 30 0 10 20 0 10 20 30];
y = [0 0 0 0 15 15 15 15 30 30 30 30];
t = [20 22 25 23 22 27 30 25 19 20 18 22];
Q = [size(x); size(y); size(t)]
Q = 3×2
1 11 1 12 1 12
y = y(1:numel(x));
t = t(1:numel(x));
xv = linspace(min(x), max(x), numel(x));
yv = linspace(min(y), max(y), numel(y));
[X,Y] = meshgrid(xv,yv);
F = scatteredInterpolant(x(:),y(:),t(:));
Warning: Duplicate data points have been detected and removed - corresponding values have been averaged.
T = F(X,Y);
figure
surfc(X, Y, T)
colormap(turbo)
colorbar
xlabel('X')
ylabel('Y')
zlabel('T')
EDIT — Added axis labels.
.

2 comentarios

Walter Roberson
Walter Roberson el 26 de Feb. de 2023
Note: the duplicate point is because the middle "30" is missing in x, so the 0 of the next x cycle lines up with the 15 of the end of the existing y cycle
0 10 20 0
15 15 15 15
whereas if the 30 had not been missed then it would have been (30,15) for that point instead of a second (0,15)
Star Strider
Star Strider el 26 de Feb. de 2023
@Walter Roberson — That is also likely the origin of the vectors not having equal lengths. I just went with the available data.
I’m also assuming that May wants a surf plot because of the meshgrid call.

Iniciar sesión para comentar.

Devargya chakraborty
Devargya chakraborty el 26 de Feb. de 2023

0 votos

first of all, your vectors should be of the same length.
after that you can use the plot3 command to plot the graph or meshgrid also.
plot3(x,y,t);
meshgrid(x,y,t);

Etiquetas

Preguntada:

May
el 26 de Feb. de 2023

Comentada:

el 26 de Feb. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by