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)+потому что(y) на интервале по умолчанию -5<x<5 и -5<y<5.

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

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

Постройте кусочный вход

erf(x)+потому что(y)-5<x<0sin(x)+потому что(y)0<x<5

-5<y<5.

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

Постройте контуры x2-y2 как пунктирные линии с шириной линии 2.

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

График sin(x)+потому что(y) и x-y на тех же осях при помощи hold on.

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

Постройте контуры e-(x/3)2-(y/3)2+e-(x+2)2-(y+2)2. Присвойте функциональный объект контура переменной.

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

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

erf((y+2)3)-e(-0.65((x-2)2+(y-2)2)).

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. В первом подграфике постройте контуры sin(x)sin(y). Углы квадратов не встречаются. Чтобы устранить эту проблему, увеличьте '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)')

График xsin(y)-yпотому что(x). Отобразите линии сетки, добавьте заголовок и добавьте подписи по осям.

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) + cos(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) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 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'

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

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

свернуть все

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

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

Функции

Свойства

Введенный в R2016a