Surface plot problem with mesh

9 visualizaciones (últimos 30 días)
Danila Zharenkov
Danila Zharenkov el 10 de Abr. de 2014
Comentada: Danila Zharenkov el 12 de Abr. de 2014
Hello, I've got a code that solves pde system. As a result I've got matrix with values in different points (coordinate and time layer). Now I'm trying to plot the surface like this
figure
[x1,y1]=meshgrid(time,x);
surf(x1,y1,u(:,:),'EdgeColor','black');
colormap(copper)
set(gca,'linewidth',2)
shading interp;
grid on;
hold on;
where x and time are vectors of coordinate and time points, u is the result matrix. But the surface looks very strange.
How can I add the lines on this surface? Like this

Respuesta aceptada

Mischa Kim
Mischa Kim el 10 de Abr. de 2014
Danila, remove
shading interp;
  6 comentarios
Mischa Kim
Mischa Kim el 11 de Abr. de 2014
Editada: Mischa Kim el 11 de Abr. de 2014
Or simply down-sample the matrices. Would this work:
figure;
[x1,y1] = meshgrid(time,x);
xsam = 1:5:size(x1,1); % the 5 sets the lines spacing
ysam = 1:3000:size(x1,2);
surf(x1(xsam,ysam),y1(xsam,ysam),u(xsam,ysam),'EdgeColor','black');
colormap(copper);
You still got all the data (for analysis), for visualization the down-sampled plot should be sufficient.
Danila Zharenkov
Danila Zharenkov el 12 de Abr. de 2014
Thanks! That works.

Iniciar sesión para comentar.

Más respuestas (2)

Danila Zharenkov
Danila Zharenkov el 10 de Abr. de 2014
I was trying to remove shading. Here's the result
It's funny, I can't understand what going on with this plot.
  1 comentario
Mischa Kim
Mischa Kim el 10 de Abr. de 2014
Please add comments as comments, not answers.

Iniciar sesión para comentar.


Kelly Kearney
Kelly Kearney el 10 de Abr. de 2014
The wireframe function will give the effect you're looking for:
[x,y,z] = peaks(500);
surf(x,y,z);
shading flat;
wireframe(x,y,z,20);

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by