How to plot over a range using absolute value
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Elizabeth Lu
el 12 de Nov. de 2019
Comentada: Elizabeth Lu
el 12 de Nov. de 2019
I'm trying to plot a surface over a square given by the function abs(x) + abs (y) ≤ 2. I'm trying to use meshgrid, but I'm lost on what I should use as my intervals. If someone could lead me in the right direction, that would be awesome.
0 comentarios
Respuesta aceptada
the cyclist
el 12 de Nov. de 2019
Editada: the cyclist
el 12 de Nov. de 2019
One way to do it would be to create a grid that is larger than the one you need, but then overwrite the x-y grid values that do not obey the restriction into NaN. For example:
x = linspace(-2,2,100);
y = linspace(-2,2,100);
[xx,yy] = meshgrid(x,y);
idxToRemove = (abs(xx) + abs (yy) > 2);
xx(idxToRemove) = NaN;
yy(idxToRemove) = NaN;
zz = xx - yy.^2;
figure
mesh(xx,yy,zz)
Más respuestas (0)
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!