Постройте контуры
fcontour(
строит линии контура символьного выражения f (x, y) на интервале по умолчанию f
)x
и y, который является [-5 5]
.
fcontour(
графики f
,[xmin xmax
ymin ymax]
)f
на интервале xmin
<x
<xmax
и ymin
<y
<ymax
. fcontour
функциональное использование symvar
заказать интервалы присвоения и переменные.
fcontour(___,
использование LineSpec
)LineSpec
установить стиль линии и цвет. fcontour
не поддерживает маркеры.
fcontour(___,
задает свойства линии с помощью одного или нескольких Name,Value
)Name,Value
парные аргументы. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Name,Value
парные настройки применяются ко всем построенным графикам. Чтобы установить опции для отдельных участков, используйте объекты, возвращенные fcontour
.
fcontour(
объект ax
,___)ax
графиков в осях вместо объекта текущей системы координат
gca
.
возвращает функциональный объект контура. Используйте объект запросить и изменить свойства определенного контурного графика. Для получения дополнительной информации смотрите FunctionContour Properties.fc
= fcontour(___)
Постройте контуры в области значений по умолчанию и . Покажите шкалу палитры. Найдите уровень контура путем соответствия с цветом контура значению шкалы палитры.
syms x y fcontour(sin(x) + cos(y)) colorbar
Постройте контуры в области значений по умолчанию и .
syms f(x,y)
f(x,y) = sin(x) + cos(y);
fcontour(f)
График и путем определения интервала графического вывода в качестве второго аргумента fcontour
.
syms x y f = sin(x) + cos(y); fcontour(f,[-pi/2 pi/2 0 5])
Постройте контуры как синие, пунктирные линии путем определения LineSpec
входной параметр. Задайте LineWidth
из 2
. Маркеры не поддерживаются fcontour
.
syms x y fcontour(x^2 - y^2,'--b','LineWidth',2)
Постройте несколько контурных графиков или путем передачи входных параметров как вектора или при помощи hold on
последовательно построить на той же фигуре. Если вы задаете LineStyle
и аргументы Name-Value, они применяются ко всем контурным графикам. Вы не можете задать отдельный LineStyle
и Аргументы пары "имя-значение" для каждого графика.
Разделите фигуру на два подграфика при помощи subplot
. На первом подграфике, графике и при помощи векторного входа. На втором подграфике постройте те же выражения при помощи hold on
.
syms x y subplot(2,1,1) fcontour([sin(x)+cos(y) x-y]) title('Multiple Contour Plots Using Vector Inputs') subplot(2,1,2) fcontour(sin(x)+cos(y)) hold on fcontour(x-y) title('Multiple Contour Plots Using Hold Command') hold off
Постройте контуры . Задайте выход, чтобы сделать fcontour
возвратите объект графика.
syms x y f = exp(-(x/3)^2-(y/3)^2) + exp(-(x+2)^2-(y+2)^2); fc = fcontour(f)
fc = FunctionContour with properties: Function: [1x1 sym] 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
Измените LineWidth
к 1
и LineStyle
к пунктирной линии при помощи записи через точку, чтобы установить свойства объекта fc
. Визуализируйте контуры близко к 0
и 1
установкой LevelList
к [1 0.9 0.8 0.2 0.1]
.
fc.LineStyle = '--';
fc.LineWidth = 1;
fc.LevelList = [1 0.9 0.8 0.2 0.1];
colorbar
Заполните область между контурами путем установки Fill
вход fcontour
к 'on'
. Если вы хотите интерполированную штриховку вместо этого, используйте fsurf
функция с ее опцией 'EdgeColor'
установите на 'none'
сопровождаемый командой view(0,90)
.
Создайте график, который похож на закат путем заполнения контуров
syms x y f = erf((y+2)^3) - exp(-0.65*((x-2)^2+(y-2)^2)); fcontour(f,'Fill','on')
Установите значения в который fcontour
чертит контуры при помощи 'LevelList'
опция.
syms x y f = sin(x) + cos(y); fcontour(f,'LevelList',[-1 0 1])
Управляйте разрешением линий контура при помощи 'MeshDensity'
опция. Увеличение 'MeshDensity'
может сделать более сглаженные, более точные графики, в то время как уменьшение его может увеличить скорость графического вывода.
Разделите фигуру на два использования subplot
. В первом подграфике постройте контуры . Углы квадратов не встречаются. Чтобы устранить эту проблему, увеличьте 'MeshDensity'
к 200
во втором подграфике. Углы теперь встречаются, показывая это путем увеличения 'MeshDensity'
вы увеличиваете разрешение графика.
syms x y subplot(2,1,1) fcontour(sin(x).*sin(y)) title('Default MeshDensity = 71') subplot(2,1,2) fcontour(sin(x).*sin(y),'MeshDensity',200) title('Increased MeshDensity = 200')
График . Добавьте заголовок и подписи по осям. Создайте метки деления оси X путем охвата пределов оси X с промежутками в pi/2
. Отобразите эти метки деления при помощи XTick
свойство. Создайте метки оси X при помощи arrayfun
применять texlabel
к S
. Отобразите эти метки при помощи XTickLabel
свойство. Повторите эти шаги для оси Y.
Чтобы использовать LaTeX в графиках, смотрите latex
.
syms x y fcontour(x*sin(y)-y*cos(x), [-2*pi 2*pi]) grid on title('xsin(y)-ycos(x) for -2\pi < x < 2\pi and -2\pi < y < 2\pi') xlabel('x') ylabel('y') ax = gca; S = sym(ax.XLim(1):pi/2:ax.XLim(2)); ax.XTick = double(S); ax.XTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false); S = sym(ax.YLim(1):pi/2:ax.YLim(2)); ax.YTick = double(S); ax.YTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false);
Создайте анимации путем изменения отображенного выражения с помощью Function
свойство указателя на функцию и затем использование drawnow
обновить график. Чтобы экспортировать в GIF, смотрите imwrite
.
Путем варьирования переменной i от –π/8 до π/8 анимируйте параметрическую кривую sin i (x) + cos i (y).
syms x y fc = fcontour(-pi/8.*sin(x)-pi/8.*cos(y)); for i=-pi/8:0.01:pi/8 fc.Function = i.*sin(x)+i.*cos(y); drawnow pause(0.05) end
fcontour
присваивает символьные переменные в f
к x
ось, затем y
ось, и symvar
определяет порядок переменных, которые будут присвоены. Поэтому переменная и имена оси не могут соответствовать. Обеспечивать fcontour
чтобы присвоить x или y к его соответствующей оси, создайте символьную функцию, чтобы построить, затем передать символьную функцию fcontour
.
Например, следующий код строит контур поверхностного f (x, y) = sin (y) двумя способами. Первый путь обеспечивает волны, чтобы колебаться относительно оси y. Второй путь присваивает y оси x, потому что это является первым (и только) переменная в символьной функции.
syms x y; f(x,y) = sin(y); figure; subplot(2,1,1) fcontour(f); subplot(2,1,2) fcontour(f(x,y)); % Or fcontour(sin(y));