Simple Question: How to graph certain surfaces depending on the Z value?

Hi guys,
I'm trying to graph only Test1 for Z2 > 5, and wanting to graph only Test2 for Z2 < 5.
x = [0:5];
y = [0:5];
Test1 = @(x,y)(x+y);
Test2 = @(x,y)(2.*x+y);
[X1,Y1] = meshgrid(x,y);
Z1 = Test1(X1,Y1);
Z2 = Test2(X1,Y1);
% s1 = surf(X1,Y1,Z1);
% s2 = surf(X1,Y1,Z2);

 Respuesta aceptada

You could set the points that do not meet your constraint to NaN;
i = Z1<5;
Z1(i)=NaN;
i = Z2>5;
Z2(i)=NaN;
The result is a bit jagged with your small grid, though.

1 comentario

Perfect. Thanks. I used your suggestion to modify the code and here is the working result. No worries about the jaggedness because this is just a test:
x = [0:5];
y = [0:5];
Test1 = @(x,y)(x+y);
Test2 = @(x,y)(2.*x+y);
[X1,Y1] = meshgrid(x,y);
Z1 = Test1(X1,Y1);
Z2 = Test2(X1,Y1);
i = Z1<5;
Z1(i)=NaN;
s1 = surf(X1,Y1,Z1);
hold on
i = Z2>5;
Z2(i)=NaN;
s2 = surf(X1,Y1,Z2);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Discrete Data Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

A
A
el 29 de Abr. de 2015

Comentada:

A
A
el 29 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by