请问画三维曲面图时,​如果自变量的区间边界​是一个函数怎么办?

11 visualizaciones (últimos 30 días)
com li
com li el 30 de Mzo. de 2020
Respondida: Rik el 30 de Mzo. de 2020
例如,用surf(X,Y,Z)画函数z(x,y)=x+y的三维曲面图,在XOY平面的范围是x=1,y=0,x=y围成的三角形区域,该怎么办?

Respuesta aceptada

Rik
Rik el 30 de Mzo. de 2020
Use meshgrid or ndgrid to generate a full grid of coordinates. Then you mark all points outside your triangle with inpolygon. The surf function will ignore NaN values, so that is good choice.
You can make the grid as fine as you need it to be.
[X,Y]=ndgrid(linspace(0,1,50));
Z=X+Y;
%define the triangle here
xv=[0 1 1];
yv=[0 0 1];
L=inpolygon(X,Y,xv,yv);
X(~L)=NaN;
Y(~L)=NaN;
Z(~L)=NaN;
surf(X,Y,Z)

Más respuestas (0)

Categorías

Más información sobre NaNs en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!