首页 > 解决方案 > 如何在受限域上绘制曲面?

问题描述

我将如何绘制表面:

z=(1+x^2)/(1+y^2)在该地区|x|+|y|<=2

我无法将表面限制在菱形/方形区域。

标签: matlabplot3dmatlab-figuresurface

解决方案


这是一个简单的例子:

% Create a grid in X and Y:
[XX,YY] = meshgrid(-2:0.01:2);

% Evaluate Z according to the equation:
ZZ = (1+XX.^2) ./ (1+YY.^2);

% Introduce constraints using NaN
XX( abs(XX) + abs(YY) > 2 ) = NaN;

% Plot:
figure(); surf(XX,YY,ZZ, 'EdgeColor','interp');

产生:

在此处输入图像描述


推荐阅读