![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/177318/image.jpeg)
How can I plot various vectors together with surf or mesh when they have different x, y and z values?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andreas Theodorakopoulos
el 5 de Jun. de 2015
Respondida: Sreeja Banerjee
el 8 de Jun. de 2015
Hello,
assuming I have 4 times of these two vectors
G=[-1 2 5 -3 3 4] %(x)
P=[36 45 23 54 56 23] %(y)
G=[2 -3 5 -3 3 1]
P=[46 23 45 79 23 12]
G=[2 2 -3 2 3 -1]
P=[36 45 23 54 56 23]
G=[-1 -4 -4 -3 3 2]
P=[36 37 14 54 56 56]
each and every pair gives you a plot if you just do plot(G,P)
What I want to do is plot them on a mesh or surf so that X axis will have the P values Y axis will have the G values for each P and the Z axis will just be a number from 1:4 or as many the plots are.
my thoughts up to now come to interpolation in order to fix all the P values somehow , but I really do not know how to do it.
Any suggestions?
/Andreas T.
0 comentarios
Respuesta aceptada
Sreeja Banerjee
el 8 de Jun. de 2015
Hi Andreas,
From your question I understand that you have two 1D vectors G and P. These vectors can have different values at different instances, for example, in the question you have mentioned 4 different pairs of G and P. You want to create a surface plot with these two vector and have the four different values shown on four different levels (z-axis).
Since G and P are only 1D vectors, we cannot create a surface plot which them. However, we can use the function MESHGRID to create a rectangular grid in 2-D. I have shown below a simple exmple on how you can do that:
G=[-1 2 5 -3 3 4];
P=[36 45 23 54 56 23];
[x,y] = meshgrid(G,P);
z = 0*x + 1;
surf(x,y,z,'Marker','*');
hold on;
G=[2 -3 5 -3 3 1];
P=[46 23 45 79 23 12];
[x,y] = meshgrid(G,P);
z = 0*x + 2;
surf(x,y,z,'Marker','*');
hold on;
G=[2 2 -3 2 3 -1];
P=[36 45 23 54 56 23];
[x,y] = meshgrid(G,P);
z = 0*x + 3;
surf(x,y,z,'Marker','*');
hold on;
G=[1 -4 -4 -3 3 2];
P=[36 37 14 54 56 56];
[x,y] = meshgrid(G,P);
z = 0*x + 4;
surf(x,y,z,'Marker','*');
hold off;
The figure obtained is as follows:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/177318/image.jpeg)
You can read more about MESHGRID at the following documentation: http://www.mathworks.com/help/matlab/ref/meshgrid.html
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!