Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

ezsurf

(不推荐)易用的三维彩色曲面绘图函数

    不推荐使用 ezsurf。请改用 fsurf。有关详细信息,请参阅兼容性考虑

    说明

    示例

    ezsurf(f) 使用 surf 函数创建函数 f(x,y) 的曲面图。该函数在默认区间 [-2π 2π](对于 xy)上绘制 f

    ezsurf 自动将标题和轴标签添加到绘图中。

    ezsurf(f,xyinterval) 将在指定区间绘图。

    ezsurf(funx,funy,funz) 在默认区间 [-2π 2π](对于 uv)上绘制参数化曲面 funx(u,v)funy(u,v)funz(u,v)

    ezsurf(funx,funy,funz,uvinterval) 使用指定区间绘制参数化曲面图。

    ezsurf(___,n) 使用一个 n×n 网格进行绘图。在上述语法中的任何输入参数组合后使用此选项。

    ezsurf(___,'circ') 在以该区间为中心的圆上绘制。

    ezsurf(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。在上述任一语法中的任何输入参数组合之前指定坐标区。

    s = ezsurf(___) 将返回一个图曲面对象。在创建曲面之后可使用 s 对其进行修改。有关属性列表,请参阅 Surface 属性

    示例

    全部折叠

    在域 -2π<x<2π-2π<y<2π 上绘制函数 f(x,y)=real(atan(x+iy))。对于未定义数学函数的点,ezsurf 函数不会绘制它们。这些点设置为 NaN,因此不绘制它们。

    figure
    ezsurf('real(atan(x+i*y))')

    Figure contains an axes object. The axes object with title real ( atan ( x + i blank y )), xlabel x, ylabel y contains an object of type surface.

    使用 surf 绘制相同数据,不滤除不连续的点。

    figure
    [x,y] = meshgrid(linspace(-2*pi,2*pi,60));
    z = real(atan(x+1i.*y));
    surf(x,y,z)

    Figure contains an axes object. The axes object contains an object of type surface.

    输入参数

    全部折叠

    要绘制的三维函数,指定为字符向量、字符串标量或命名或匿名函数的函数句柄。

    指定 z = f(x,y) 形式的函数。该函数必须接受两个矩阵输入参数,并返回大小相同的矩阵输出参数。

    当将函数指定为字符向量或字符串标量时,始终默认执行数组乘法、除法和乘方。例如,x^2 解释为 x.^2

    示例: 'sqrt(x^2 + y^2)'

    将函数指定为函数句柄时,为了获得最优性能,请使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

    示例: @(x,y) sin(x).*cos(y)

    xy 的绘图区间,指定为下列形式之一:

    • [min max] 形式的向量 - 对 xy 都使用区间 [min max]

    • [xmin xmax ymin ymax] 形式的向量 - 对 x 使用区间 [xmin xmax],对 y 使用区间 [ymin ymax]

    x 坐标的参数化函数,指定为字符向量、字符串标量或者命名或匿名函数的函数句柄。

    指定 x = funx(u,v) 形式的函数。该函数必须接受两个矩阵输入参数,并返回大小相同的矩阵输出参数。

    当将函数指定为字符向量或字符串标量时,始终默认执行数组乘法、除法和乘方。例如,x^2 解释为 x.^2

    示例: 'u*sin(v)'

    将函数指定为函数句柄时,为了获得最优性能,请使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

    示例: @(u,v) u.*sin(v)

    y 坐标的参数化函数,指定为字符向量、字符串标量或者命名或匿名函数的函数句柄。

    指定 y = funy(u,v) 形式的函数。该函数必须接受两个矩阵输入参数,并返回大小相同的矩阵输出参数。

    当将函数指定为字符向量或字符串标量时,始终默认执行数组乘法、除法和乘方。例如,x^2 解释为 x.^2

    示例: '-u*cos(v)'

    将函数指定为函数句柄时,为了获得最优性能,请使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

    示例: @(u,v) -u.*cos(v)

    z 坐标的参数化函数,指定为字符向量、字符串标量或者命名或匿名函数的函数句柄。

    指定 z = funz(u,v) 形式的函数。该函数必须接受两个矩阵输入参数,并返回大小相同的矩阵输出参数。

    当将函数指定为字符向量或字符串标量时,始终默认执行数组乘法、除法和乘方。例如,x^2 解释为 x.^2

    示例: '-u*cos(v)'

    将函数指定为函数句柄时,为了获得最优性能,请使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

    示例: @(u,v) v

    uv 的绘图区间,指定为下列形式之一:

    • [min max] 形式的向量 - 对 uv 都使用区间 [min max]

    • [umin umax vmin vmax] 形式的向量 - 对 u 使用区间 [umin umax],对 v 使用区间 [vmin vmax]

    网格的大小,指定为正整数。网格的维度是 n×n

    坐标区对象。如果您不指定坐标区对象,则 ezsurf 使用当前坐标区。

    扩展功能

    版本历史记录

    在 R2006a 之前推出

    全部折叠

    R2016a: 不推荐使用 ezsurf

    不推荐使用 ezsurf。请改用 fsurf。目前没有删除 ezsurf 的计划。

    fsurf 要求要绘制的输入函数是函数句柄。ezsurf 接受函数句柄、字符向量或字符串。下表显示了 ezsurf 的一些典型用法,以及如何更新代码以改用 fsurf

    不推荐推荐
    ezsurf('real(atan(x+i*y))')fsurf(@(x,y) real(atan(x+i*y)))
    ezsurf('sin(x)+cos(y)')fsurf(@(x,y) sin(x)+cos(y))
    ezsurf(@(x,y) sqrt(x.^2+y.^2))fsurf(@(x,y) sqrt(x.^2+y.^2))

    另请参阅

    | | | | |