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

 채택된 답변

Star Strider
Star Strider 2020년 12월 11일
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.

추가 답변 (0개)

카테고리

질문:

2020년 12월 11일

답변:

2020년 12월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by