How to plot over a range using absolute value
5 views (last 30 days)
Show older comments
Elizabeth Lu
on 12 Nov 2019
Commented: Elizabeth Lu
on 12 Nov 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 Comments
Accepted Answer
the cyclist
on 12 Nov 2019
Edited: the cyclist
on 12 Nov 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)
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!