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 日

2 投票

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