Постройте график 3-D поверхности
fsurf(
создает объемную поверхностную диаграмму функции f
)z = f(x,y)
в течение интервала по умолчанию [-5 5]
для x
и y
.
fsurf(
графики на заданном интервале. Чтобы использовать один и тот же интервал для обоих f
,xyinterval
)x
и y
, задайте xyinterval
как двухэлементный вектор вида [min max]
. Чтобы использовать различные интервалы, задайте четырехэлементный вектор формы [xmin xmax ymin ymax]
.
fsurf(
графики на заданном интервале. Чтобы использовать один и тот же интервал для обоих funx
,funy
,funz
,uvinterval
)u
и v
, задайте uvinterval
как двухэлементный вектор вида [min max]
. Чтобы использовать различные интервалы, задайте четырехэлементный вектор формы [umin umax vmin vmax]
.
fsurf(___,
задает стиль линии, символ маркера и цвет поверхности. Для примера, LineSpec
)'-r'
задает красные линии. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.
fsurf(___,
задает свойства поверхности, используя один или несколько аргументы пары "имя-значение". Используйте эту опцию после любой комбинации входных аргументов в предыдущих синтаксисах.Name,Value
)
fsurf(
графики в осях заданные ax
,___)ax
вместо текущей системы координат (gca
).
возвращает fs
= fsurf(___)FunctionSurface
объект или ParameterizedFunctionSurface
объект, в зависимости от входов. Использование fs
запрос и изменение свойств определенной поверхности. Список свойств см. в разделе FunctionSurface Properties или ParameterizedFunctionSurface Properties.
Постройте график выражения через интервал по умолчанию и .
fsurf(@(x,y) sin(x)+cos(y))
Постройте график кусочно-линейного выражения
Задайте интервал графического изображения как второй входной параметр fsurf
. Когда вы строите график нескольких поверхностей на разных интервалах в одних и тех же осях, пределы по осям корректируются так, чтобы включать все данные.
f1 = @(x,y) erf(x)+cos(y); fsurf(f1,[-5 0 -5 5]) hold on f2 = @(x,y) sin(x)+cos(y); fsurf(f2,[0 5 -5 5]) hold off
Постройте график параметризованной поверхности
для и . Добавить свет на поверхность можно используя команду camlight
.
r = @(u,v) 2 + sin(7.*u + 5.*v); funx = @(u,v) r(u,v).*cos(u).*sin(v); funy = @(u,v) r(u,v).*sin(u).*sin(v); funz = @(u,v) r(u,v).*cos(v); fsurf(funx,funy,funz,[0 2*pi 0 pi]) camlight
Для и от кому , постройте график 3-D поверхности . Добавьте заголовок и подписи по осям и отобразите контур осей.
fsurf(@(x,y) y.*sin(x)-x.*cos(y),[-2*pi 2*pi]) title('ysin(x) - xcos(y) for x and y in [-2\pi,2\pi]') xlabel('x'); ylabel('y'); zlabel('z'); box on
Установите значения деления оси X и связанные с ними метки с помощью XTickLabel
и XTick
свойства объекта осей. Доступ к объекту осей с помощью gca
. Точно так же установите значения деления по оси Y и связанные с ними метки.
ax = gca; ax.XTick = -2*pi:pi/2:2*pi; ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'}; ax.YTick = -2*pi:pi/2:2*pi; ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
Постройте график параметрической поверхности , , с различными стилями линии для различных значений . Для используйте штриховую зеленую линию для ребер поверхности. Для , отключите ребра путем установки EdgeColor
свойство к 'none'
.
funx = @(u,v) u.*sin(v); funy = @(u,v) -u.*cos(v); funz = @(u,v) v; fsurf(funx,funy,funz,[-5 5 -5 -2],'--','EdgeColor','g') hold on fsurf(funx,funy,funz,[-5 5 -2 2],'EdgeColor','none') hold off
Постройте график параметрической поверхности
Присвойте параметризованный объект поверхности функции переменной.
x = @(u,v) exp(-abs(u)/10).*sin(5*abs(v)); y = @(u,v) exp(-abs(u)/10).*cos(5*abs(v)); z = @(u,v) u; fs = fsurf(x,y,z)
fs = ParameterizedFunctionSurface with properties: XFunction: @(u,v)exp(-abs(u)/10).*sin(5*abs(v)) YFunction: @(u,v)exp(-abs(u)/10).*cos(5*abs(v)) ZFunction: @(u,v)u EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'interp' Show all properties
Измените интервал графического изображения для u
на [-30 30]
путем установки URange
свойство объекта. Добавьте прозрачность к поверхности путем установки FaceAlpha
свойство для значения от 0 (прозрачный) до 1 (непрозрачный).
fs.URange = [-30 30];
fs.FaceAlpha = .5;
Показать контуры под объемной поверхностной диаграммой путем установки 'ShowContours'
опция для 'on'
.
f = @(x,y) 3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)... - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)... - 1/3*exp(-(x+1).^2 - y.^2); fsurf(f,[-3 3],'ShowContours','on')
Управление разрешением объемной поверхностной диаграммы с помощью 'MeshDensity'
опция. Увеличение 'MeshDensity'
может сделать более плавными, более точные графики, в то время как уменьшение это может увеличить скорость графического изображения.
Создать два графика в размещении мозаичной диаграммы. На первом графике отобразите параметрическую поверхность , , . Поверхность имеет большой зазор. Исправьте эту проблему, увеличив 'MeshDensity'
на 40
на втором графике. fsurf
заполняет зазор, показывая, что путем увеличения 'MeshDensity'
вы увеличили разрешение.
tiledlayout(2,1) nexttile fsurf(@(s,t) sin(s), @(s,t) cos(s), @(s,t) t/10.*sin(1./s)) view(-172,25) title('Default MeshDensity = 35') nexttile fsurf(@(s,t) sin(s), @(s,t) cos(s), @(s,t) t/10.*sin(1./s),'MeshDensity',40) view(-172,25) title('Increased MeshDensity = 40')
f
- 3-D функцию к графику3-D функцию для построения графика, заданную как указатель на функцию для именованной или анонимной функции.
Задайте функцию формы z = f(x,y)
. Функция должна принять два матричных входных параметров и вернуть матричный выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .*
(times
) вместо * (mtimes
).
Пример: f = @(x,y) sin(x) + cos(y);
xyinterval
- Интервал графического изображения для x
и y
[-5 5 -5 5]
(по умолчанию) | вектор формы [min max]
| вектор формы [xmin xmax ymin ymax]
Интервал построения графиков для x
и y
, указанный в одной из следующих форм:
Вектор формы [min max]
- Используйте интервал [min max]
для обоих x
и y
Вектор формы [xmin xmax ymin ymax]
- Используйте интервал [xmin xmax]
для x
и [ymin ymax]
для y
.
funx
- Параметрическая функция для координат xПараметрическая функция для координат x, заданная как указатель на функцию для именованной или анонимной функции.
Задайте функцию формы x = funx(u,v)
. Функция должна принять два матричных входных параметров и вернуть матричный выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .*
(times
) вместо * (mtimes
).
Пример: funx = @(u,v) u.*sin(v);
funy
- Параметрическая функция для координат yПараметрическая функция для координат y, заданная как указатель на функцию для именованной или анонимной функции.
Задайте функцию формы y = funy(u,v)
. Функция должна принять два матричных входных параметров и вернуть матричный выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .*
(times
) вместо * (mtimes
).
Пример: funy = @(t) @(u,v) -u.*cos(v);
funz
- Параметрическая функция для координат zПараметрическая функция для координат z, заданная как указатель на функцию для именованной или анонимной функции.
Задайте функцию формы z = funz(u,v)
. Функция должна принять два матричных входных параметров и вернуть матричный выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .*
(times
) вместо * (mtimes
).
Пример: funz = @(u,v) v;
uvinterval
- Интервал графического изображения для u
и v
[-5 5 -5 5]
(по умолчанию) | вектор формы [min max]
| вектор формы [umin umax vmin vmax]
Интервал построения графиков для u
и v
, указанный в одной из следующих форм:
Вектор формы [min max]
- Используйте интервал [min max]
для обоих u
и v
Вектор формы [umin umax vmin vmax]
- Используйте интервал [umin umax]
для u
и [vmin vmax]
для v
.
ax
- Объект осейОбъект осей. Если вы не задаете объект осей, то fsurf
использует текущую систему координат.
LineSpec
- Стиль линии, цвет и маркерСтиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы опускаете стиль линии и задаете маркер, то на графике отображается только маркер и нет линии.
Пример: '--or'
- красная штриховая линия с маркерами кругов
Стиль линии | Описание |
---|---|
- | Сплошная линия |
-- | Штриховая линия |
: | Пунктирная линия |
-. | Штрих-точка линия |
Маркер | Описание |
---|---|
'o' | Круг |
'+' | Плюс знак |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
's' | Квадрат |
'd' | Алмаз |
'^' | Направленный вверх треугольник |
'v' | Нисходящий треугольник |
'>' | Треугольник , указывающий вправо |
'<' | Треугольник , указывающий влево |
'p' | Пентаграмма |
'h' | Hexagram |
Цвет | Описание |
---|---|
| желтый |
| пурпурный |
| голубой |
| красный |
| зеленый |
| синий |
| белый |
| черный |
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Marker','o','MarkerFaceColor','red'
Список свойств здесь является только подмножеством. Полный список см. в разделе Свойства FunctionSurface или Свойства ParameterizedFunctionSurface.
'MeshDensity'
- Количество точек оценки в каждом направленииКоличество точек оценки в каждом направлении, заданное как число. Значение по умолчанию является 35
. Потому что fsurf
объекты используют адаптивную оценку, фактическое количество точек оценки больше.
Пример: 100
'ShowContours'
- Отобразить контурный график под графиком'off'
(по умолчанию) | логическое значение включения/выключенияОтобразите контурный график под графиком, заданный как 'on'
или 'off'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
'EdgeColor'
- Цвет линии[0 0 0]
(по умолчанию) | 'interp'
| триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет линии, заданный как 'interp'
, триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение триплета RGB по умолчанию [0 0 0]
соответствует черному. The 'interp'
значение окрашивает ребра на основе ZData
значения.
Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; для примера, [0.4 0.6 0.7]
.
Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#
), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0
на F
. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
, и '#f80'
являются эквивалентными.
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan'
| 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | Не применяется | Не применяется | Не применяется | Нет цвета |
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
'LineStyle'
- Стиль линии'-'
(по умолчанию) | '--'
| ':'
| '-.'
| 'none'
Стиль линии, заданный как одно из опций, перечисленных в этой таблице.
Стиль линии | Описание | Результирующая линия |
---|---|---|
'-' | Сплошная линия |
|
'--' | Штриховая линия |
|
':' | Пунктирная линия |
|
'-.' | Штрих-пунктирная линия |
|
'none' | Нет линии | Нет линии |
'LineWidth'
- Ширина линии0.5
(по умолчанию) | положительное значениеШирина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.
Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы задаете ширину линии значение, которое меньше, чем ширина пикселя в вашей системе, линия отображается как один пиксель в ширину.
'Marker'
- Символ маркера'none'
(по умолчанию) | 'o'
| '+'
| '*'
| '.'
| ...Символ маркера, заданный как одно из значений, перечисленных в этой таблице. По умолчанию объект не отображает маркеры. Установка символа маркера добавляет маркеры в каждую точку данных или вершину.
Значение | Описание |
---|---|
'o' | Круг |
'+' | Плюс знак |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
'square' или 's' | Квадрат |
'diamond' или 'd' | Алмаз |
'^' | Направленный вверх треугольник |
'v' | Нисходящий треугольник |
'>' | Треугольник , указывающий вправо |
'<' | Треугольник , указывающий влево |
'pentagram' или 'p' | Пятиконечная звезда (пентаграмма) |
'hexagram' или 'h' | Шестиконечная звезда (гексаграмма ) |
'none' | Маркеров нет |
'MarkerSize'
- Размер маркера6
(по умолчанию) | положительное значениеРазмер маркера, заданный как положительное значение в точках, где 1 точка = 1/72 дюйма.
fs
- Один или несколько FunctionSurface
или ParameterizedFunctionSurface
объектыОдин или несколько FunctionSurface
или ParameterizedFunctionSurface
объекты, возвращенные в виде скаляра или вектора.
Если вы используете fsurf(f)
синтаксис или изменение этого синтаксиса, затем fsurf
возвращает FunctionSurface
объекты.
Если вы используете fsurf(funx,funy,funz)
синтаксис или изменение этого синтаксиса, затем fsurf
возвращает ParameterizedFunctionSurface
объекты.
Можно использовать эти объекты для запроса и изменения свойств определенной поверхности. Список свойств см. в разделах Свойства FunctionSurface и Свойства ParameterizedFunctionSurface.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.