ezsurf

(Не рекомендуемый) Простой в использовании 3-D цветной поверхностный плоттер

ezsurf не рекомендуется. Использование fsurf вместо этого.

Синтаксис

ezsurf(fun)
ezsurf(fun,domain)
ezsurf(funx,funy,funz)
ezsurf(funx,funy,funz,[smin,smax,tmin,tmax])
ezsurf(funx,funy,funz,[min,max])
ezsurf(...,n)
ezsurf(...,'circ')
ezsurf(axes_handle,...)
h = ezsurf(...)

Описание

ezsurf(fun) создает график fun(x,y) использование surf функция. fun построен по области по умолчанию:-2π <x <2π,-2π <y < 2π.

fun может быть указатель на функцию, вектор символов или строка (см. раздел Tips).

ezsurf(fun,domain) графики fun по заданному domain. domain должен быть вектор. Смотрите, что раздел Algorithms для получения дополнительной информации о векторных входных параметрах по сравнению с осями ограничивает выходные параметры.

ezsurf(funx,funy,funz) строит параметрический поверхностный funx(s,t), funy(s,t), и funz(s,t) по квадрату:-2π <s <2π,-2π <t < 2π.

ezsurf(funx,funy,funz,[smin,smax,tmin,tmax]) или ezsurf(funx,funy,funz,[min,max]) строит параметрическую поверхность с помощью заданной области.

ezsurf(...,n) графики fun по области по умолчанию с помощью n- n сетка. Значение по умолчанию для n 60.

ezsurf(...,'circ') графики fun по диску, сосредоточенному на области.

ezsurf(axes_handle,...) графики в оси с указателем axes_handle вместо текущей системы координат (gca).

h = ezsurf(...) возвращает указатель на объект подложки в h.

Примеры

свернуть все

Постройте функцию f(x,y)=real(atan(x+iy)) по области -2π<x<2π и -2π<y<2π. ezsurf функция не строит точки, где математическая функция не задана. Эти точки установлены в NaN так, чтобы они не строили.

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

Используйте surf отображать те же данные на графике, не фильтруя разрывы.

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

Советы

ezsurf и ezsurfc не принимайте комплексные входные параметры.

Передача функции как вектор символов или строка

Умножение массивов, деление и возведение в степень всегда подразумеваются в выражении, которому вы передаете ezsurf. Например, синтаксис MATLAB® для объемной поверхностной диаграммы выражения

sqrt(x.^2 + y.^2);

записан как

ezsurf('sqrt(x^2 + y^2)')

Таким образом, x^2 интерпретирован как x.^2 в векторе символов или строке вы передаете ezsurf.

Если функция, которая будет построена, является функцией переменных u и v (а не x и y), то доменные конечные точки umin, umax, vmin, и vmax сортируются в алфавитном порядке. Таким образом, ezsurf('u^2 - v^3',[0,1],[3,6]) графики u 2 - v 3 более чем 0 <u <1, 3 <v <6.

Передача указателя на функцию

Аргументы указателя на функцию должны указать на функции тому использованию синтаксис MATLAB. Например, следующие операторы задают анонимную функцию и передают указатель на функцию fh к ezsurf.

fh = @(x,y) sqrt(x.^2 + y.^2);
ezsurf(fh)

Обратите внимание на то, что при использовании указателей на функцию, необходимо использовать степень массивов, умножение массивов и операторы деления массивов (.^, .*, ./) начиная с ezsurf не изменяет синтаксис, как в случае с вектором символов или представляет входные параметры в виде строки.

Передача дополнительных аргументов

Если ваша функция имеет дополнительные параметры, например, k в myfun:

function z = myfun(x,y,k1,k2,k3)
z = x.*(y.^k1)./(x.^k2 + y.^k3);

затем можно использовать анонимную функцию, чтобы указать что параметр:

ezsurf(@(x,y)myfun(x,y,2,2,4))

Алгоритмы

ezsurf определяет x-и пределы осей Y по-разному в зависимости от того, как вы вводите область (если вообще). В следующей таблице, R вектор [xminxmax ymin ymax ] и v вручную вводимый доменный вектор.

Количество значений домена задало:Получившийся доменный вектор:
v = [ ];
R = [-2*pi, 2*pi, -2*pi, 2*pi];
v = [ v(1) ];
R = double([-abs(v),abs(v),-abs(v),abs(v)]);
v = [ v(1) v(2) ];
R = double([v(1),v(2),v(1),v(2)]);
v = [ v(1) v(2) v(3) ];
R = double([-v(1),v(2),-abs(v(3)),abs(v(3))]);
v = [ v(1) v(2) v(3) v(4) ];
R = double(v);
v = [ v(1)..v(n) ]; n>4
R = double([-abs(v(1)), abs(v(1)), -abs(v(1)), abs(v(1))]);

Если вы задаете один номер в невекторном формате (без квадратных скобок, []), ezsurf интерпретирует его как n, число точек желало между осями max и min значения.

По умолчанию, ezsurf использование 60 точек между max и min значения оси. Когда min и max значения являются значениями по умолчанию (R = [-2*pi, 2*pi, -2*pi, 2*pi];ezsurf гарантирует, что 60 точек находятся в пределах некомплексной области значений заданного уравнения. Например, 1x2y2 только действительно когда x2y21. График по умолчанию этой функции выглядит так:

ezsurf('sqrt(1-x^2-y^2)')

Вы видите, что существует 60 точек между минимальными и максимальными значениями для который 1x2y2имеет действительные значения. Однако, когда вы задаете значения домена, чтобы совпасть со значением по умолчанию (R = [-2*pi, 2*pi, -2*pi, 2*pi];), появляется различный результат:

ezsurf('sqrt(1-x^2-y^2)',[-2*pi 2*pi])

В этом случае графические пределы являются тем же самым, но ezsurf используемый 60 точек между пользовательскими пределами вместо того, чтобы проверять, чтобы видеть, имели ли все те точки действительные ответы.

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a