(Не рекомендуемый) Простой в использовании 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
может быть указателем на функцию, вектором символов или строкой (см. раздел Советов).
ezsurf(fun,domain)
графики fun
по заданному domain
. domain
должен быть вектором. Смотрите раздел Алгоритмы для получения дополнительной информации о векторных входах и предельных выходах осей.
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
-by- n
сетка. Значение по умолчанию для n
составляет 60.
ezsurf(...,'circ')
графики fun
по диску с центром в области.
ezsurf(axes_handle,...)
графики в осях с указателем axes_handle
вместо текущей системы координат (gca
).
h = ezsurf(...)
возвращает указатель на объект поверхности в h
.
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])
графики u2 - v3 более 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
- вектор [xmin
, xmax
, 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 точек в некомпонентную область значений заданного уравнения. Для примера, реально только тогда, когда . График по умолчанию этой функции выглядит следующим образом:
ezsurf('sqrt(1-x^2-y^2)')
Вы можете увидеть, что существует 60 точек между минимальным и максимальным значениями, для которых имеет действительные значения. Однако, когда вы задаете, что значения области те же, что и по умолчанию (R = [-2*pi, 2*pi, -2*pi, 2*pi];
) появляется другой результат:
ezsurf('sqrt(1-x^2-y^2)',[-2*pi 2*pi])
В этом случае графические пределы одинаковы, но ezsurf
вместо проверки использовали 60 точек между определенными пользователем пределами, чтобы увидеть, будут ли все эти точки иметь реальные ответы.