Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
A
A el 29 de Abr. de 2015
Comentada: A el 29 de Abr. de 2015
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

pfb
pfb el 29 de Abr. de 2015
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
A
A el 29 de Abr. de 2015
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)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by