How to plot only certain values in a surface plot?

I am plotting the following surface:
[X,Y] = meshgrid(-5:.2:5);
Z = -0.15*sin(X).*(X) + 0.2*(Y.^2) +3 ;
surf(X,Y,Z)
I do not want values of Z > 4 to appear on my surface plot.
How could I achieve this?
Many thanks in advance

 Respuesta aceptada

Star Strider
Star Strider el 11 de Dic. de 2020
Two options:
1. Set Z > 4 to NaN:
[X,Y] = meshgrid(-5:.2:5);
Z = -0.15*sin(X).*(X) + 0.2*(Y.^2) +3 ;
Z(Z>4) = NaN;
figure
surf(X,Y,Z)
2. Use a zlim cutoff:
[X,Y] = meshgrid(-5:.2:5);
Z = -0.15*sin(X).*(X) + 0.2*(Y.^2) +3 ;
figure
surf(X,Y,Z)
zlim([min(zlim) 4])
There may also be other possibiloities.

Más respuestas (0)

Preguntada:

el 11 de Dic. de 2020

Respondida:

el 11 de Dic. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by