fcontour

Постройте график контуров

Синтаксис

fcontour(f)
fcontour(f,xyinterval)
fcontour(___,LineSpec)
fcontour(___,Name,Value)
fcontour(ax,___)
fc = fcontour(___)

Описание

пример

fcontour(f) строит график линий контура функционального z = f(x,y) для постоянных уровней z на интервале по умолчанию [-5 5] для x и y.

пример

fcontour(f,xyinterval) строит график на заданном интервале. Чтобы использовать тот же интервал и для x и для y, задайте xyinterval как двухэлементный вектор формы [min max]. Чтобы использовать различные интервалы, задайте четырехэлементный вектор формы [xmin xmax ymin ymax].

fcontour(___,LineSpec) устанавливает стиль линии и цвет для линий контура. Например, '-r' задает красные линии. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.

пример

fcontour(___,Name,Value) задает свойства строки с помощью одного или нескольких аргументов в виде пар "имя-значение".

fcontour(ax,___) строит график в оси, заданные ax вместо текущей системы координат.

пример

fc = fcontour(___) возвращает объект FunctionContour. Используйте fc, чтобы запросить и изменить свойства определенного объекта FunctionContour. Для списка свойств смотрите FunctionContour Properties.

Примеры

свернуть все

Постройте график контуров на интервале по умолчанию и.

f = @(x,y) sin(x) + cos(y);
fcontour(f)

Задайте интервал графического изображения в качестве второго аргумента fcontour. Когда вы строите график нескольких входных параметров на различных интервалах в тех же осях, пределы по осям настраивают, чтобы отобразить все данные. Это поведение позволяет вам построить график кусочных входных параметров.

Постройте график кусочного входного параметра

.

fcontour(@(x,y) erf(x) + cos(y),[-5 0 -5 5])
hold on
fcontour(@(x,y) sin(x) + cos(y),[0 5 -5 5])
hold off
grid on

Постройте график контуров как пунктирные линии с шириной линии 2.

f = @(x,y) x.^2 - y.^2;
fcontour(f,'--','LineWidth',2)

Постройте график и на тех же осях при помощи hold on.

fcontour(@(x,y) sin(x)+cos(y))
hold on
fcontour(@(x,y) x-y)
hold off

Постройте график контуров. Присвойте функциональный объект контура переменной.

f = @(x,y) exp(-(x/3).^2-(y/3).^2) + exp(-(x+2).^2-(y+2).^2);
fc = fcontour(f)

fc = 
  FunctionContour with properties:

     Function: @(x,y)exp(-(x/3).^2-(y/3).^2)+exp(-(x+2).^2-(y+2).^2)
    LineColor: 'flat'
    LineStyle: '-'
    LineWidth: 0.5000
         Fill: 'off'
    LevelList: [0.2000 0.4000 0.6000 0.8000 1 1.2000 1.4000]

  Show all properties

Измените ширину линии на 1 и стиль линии к пунктирной линии при помощи записи через точку, чтобы установить свойства функционального объекта контура. Покажите контуры близко к 0 и 1 путем установки свойства LevelList. Добавьте шкалу палитры.

fc.LineWidth = 1;
fc.LineStyle = '--';
fc.LevelList = [1 0.9 0.8 0.2 0.1];
colorbar

Создайте график, который похож на закат путем заполнения области между контурами

f = @(x,y) erf((y+2).^3) - exp(-0.65*((x-2).^2+(y-2).^2));
fcontour(f,'Fill','on');

Если вы хотите интерполированную штриховку вместо этого, используйте функцию fsurf и установите ее опцию 'EdgeColor' на 'none', сопровождаемый командой view(0,90).

Установите значения, в которых fcontour чертит контуры при помощи опции 'LevelList'.

f = @(x,y) sin(x) + cos(y);
fcontour(f,'LevelList',[-1 0 1])

Управляйте разрешением линий контура при помощи опции 'MeshDensity'. Увеличение 'MeshDensity' может сделать более сглаженные, более точные графики, в то время как уменьшение его может увеличить скорость графического изображения.

Разделите фигуру на два использования subplot. В первом подграфике постройте график контуров. Углы квадратов не встречаются. Чтобы устранить эту проблему, увеличьте 'MeshDensity' до 200 во втором подграфике. Углы теперь встречаются, показывая, что путем увеличения 'MeshDensity' вы увеличиваете разрешение.

f = @(x,y) sin(x).*sin(y);
subplot(2,1,1)
fcontour(f)
title('Default Mesh Density (71)')

subplot(2,1,2)
fcontour(f,'MeshDensity',200)
title('Custom Mesh Density (200)')

График. Отобразите линии сетки, добавьте заголовок и добавьте подписи по осям.

fcontour(@(x,y) x.*sin(y) - y.*cos(x), [-2*pi 2*pi], 'LineWidth', 2);
grid on
title({'xsin(y) - ycos(x)','-2\pi < x < 2\pi and -2\pi < y < 2\pi'})
xlabel('x')
ylabel('y')

Установите значения деления оси X и сопоставленные метки путем установки свойств XTickLabel и XTick объекта осей. Доступ к объекту осей с помощью gca. Точно так же установите значения деления оси Y и сопоставленные метки.

ax = gca;
ax.XTick = ax.XLim(1):pi/2:ax.XLim(2);
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
ax.YTick = ax.YLim(1):pi/2:ax.YLim(2);
ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};

Входные параметры

свернуть все

Функция, чтобы построить график, заданный как указатель на функцию к именованной или анонимной функции.

Задайте функцию формы z = f(x,y). Функция должна принять два матричных входных параметра и возвратить матричный выходной аргумент, одного размера. Используйте операторы массивов вместо матричных операторов для лучшей производительности. Например, используйте .* (times) вместо * (mtimes).

Пример: f = (x, y) sin (x) + because(y);

Графическое изображение интервала для x и y, заданного в одной из следующих форм:

  • Вектор формы [min max] — Использование интервал [min max] и для x и для y.

  • Вектор формы [xmin xmax ymin ymax] — Использование интервал [xmin xmax] для x и [ymin ymax] для y.

Объект осей. Если вы не задаете объект осей, то fcontour использует текущую систему координат.

Стиль линии и цвет, заданный как вектор символа или строка, содержащая спецификатор стиля линии, цветной спецификатор или оба.

Пример: '-r' задает красные пунктирные линии

Эти две таблицы приводят стиль линии и параметры цвета.

Спецификатор стиля линииОписание
-Сплошная линия (значение по умолчанию)
--Пунктирная линия
:Пунктирная линия
-.Штрихпунктирная линия
\color{specifier}Описание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'MeshDensity', 30

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите FunctionContour Properties.

Количество оценки указывает на направление, заданное как номер. Значением по умолчанию является 71. Поскольку fcontour использует адаптивную оценку, фактическое количество точек оценки больше.

Пример: 30

Заполните между линиями контура, заданными как одно из этих значений:

  • 'off' Не заполняйте пробелы между линиями контура с цветом.

  • 'on' — Заполните пробелы между линиями контура с цветом.

Очертите уровни, заданные как вектор z значений. По умолчанию функция fcontour выбирает значения, которые охватывают область значений значений в свойстве ZData.

Установка этого наборы свойств связанное свойство режима к руководству.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Разрядка между линиями контура, заданными как скалярное числовое значение. Например, задайте значение 2, чтобы чертить линии контура в инкрементах 2. По умолчанию LevelStep определяется при помощи значений ZData.

Установка этого наборы свойств связанное свойство режима к 'manual'.

Пример 3. 4

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Цвет линий контура, заданных как 'flat', триплет RGB или один из перечисленных в таблице параметров цвета.

  • Чтобы использовать различный цвет для каждой линии контура, задайте 'flat'. Цвет определяется значением контура строки, палитры и масштабирования значений данных в палитру. Для получения дополнительной информации о цветном масштабировании смотрите caxis.

  • Чтобы использовать тот же цвет для всех линий контура, задайте триплет RGB или один из параметров цвета из таблицы.

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Ширина линии, заданная в виде положительного значения в точках. Если у линии есть маркеры, ширина линии также влияет на края маркера.

Пример: 0.75

Выходные аргументы

свернуть все

Один или несколько объектов FunctionContour, возвращенных как скаляр или вектор. Можно использовать эти объекты запросить и изменить свойства определенного контурного графика. Для списка свойств смотрите FunctionContour Properties.

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

Функции

Свойства

Введенный в R2016a

Была ли эта тема полезной?