How to plot over a range using absolute value

조회 수: 7 (최근 30일)
Elizabeth Lu
Elizabeth Lu 2019년 11월 12일
댓글: Elizabeth Lu 2019년 11월 12일
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.

채택된 답변

the cyclist
the cyclist 2019년 11월 12일
편집: the cyclist 2019년 11월 12일
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)
Screen Shot 2019-11-12 at 5.35.14 PM.png

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by