fplot

Постройте символическое выражение или функцию

Описание

пример

fplot(f) строит графики символьных входных f в течение интервала по умолчанию [-5 5].

пример

fplot(f,[xmin xmax]) графики f через интервал [xmin xmax].

пример

fplot(xt,yt) графики xt = x (t) и yt  = y (t) в диапазоне по умолчанию t, что [–5 5].

fplot(xt,yt,[tmin tmax]) графики xt = x (t) и yt  = y (t) в заданной области [tmin tmax].

пример

fplot(___,LineSpec) использует LineSpec чтобы задать стиль линии, символ маркера и цвет линии.

пример

fplot(___,Name,Value) задает свойства линий с помощью одной или нескольких Name,Value аргументы в виде пар. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Name,Value настройки пар применяются ко всем нанесенным на график линиям. Чтобы задать опции для отдельных линий, используйте объекты, возвращенные fplot.

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

пример

fp = fplot(___) возвращает объект линии функции или параметризованный объект линии, в зависимости от типа графика. Используйте объект для запроса и изменения свойств определенной линии. Для получения дополнительной информации смотрите Свойства FunctionLine и ParameterizedFunctionLine Свойств.

Примеры

Постройте символическое выражение

График tan(x) по умолчанию область значений [-5 5]. fplot показывает полюса по умолчанию. Для получения дополнительной информации смотрите ShowPoles Аргумент в аргументах в виде пар имя-значение.

syms x
fplot(tan(x))

Figure contains an axes. The axes contains an object of type functionline.

Постройте символическую функцию

Постройте график символической функции f(x)=cos(x) по умолчанию область значений [-5 5].

syms f(x)
f(x) = cos(x);
fplot(f)

Figure contains an axes. The axes contains an object of type functionline.

Параметрическая кривая графика

Постройте график параметрической кривой x=cos(3t) и y=sin(2t).

syms t
x = cos(3*t);
y = sin(2*t);
fplot(x,y)

Figure contains an axes. The axes contains an object of type parameterizedfunctionline.

Задайте интервал графического изображения

График sin(x) [-π/2,π/2] путем определения интервала графического изображения как второго входа для fplot.

syms x
fplot(sin(x),[-pi/2 pi/2])

Figure contains an axes. The axes contains an object of type functionline.

Постройте график нескольких линий на той же фигуре

Можно построить несколько линии либо путем передачи входов в виде вектора, либо при помощи hold on последовательно построить график на одном и том же рисунке. Если вы задаете LineSpec и аргументы Name-Value, они применяются ко всем линиям. Чтобы задать опции для отдельных участков, используйте указатели на функцию, возвращенные fplot.

Разделите рисунок на два подграфика с помощью subplot. На первом подграфике постройте график sin(x) и cos(x) использование векторного входа. На втором подграфике постройте график sin(x) и cos(x) использование hold on.

syms x
subplot(2,1,1)
fplot([sin(x) cos(x)])
title('Multiple Lines Using Vector Inputs')

subplot(2,1,2)
fplot(sin(x))
hold on
fplot(cos(x))
title('Multiple Lines Using hold on Command')

hold off

Figure contains 2 axes. Axes 1 with title Multiple Lines Using Vector Inputs contains 2 objects of type functionline. Axes 2 with title Multiple Lines Using hold on Command contains 2 objects of type functionline.

Изменение свойств линий и маркеров отображения

Постройте график трех синусоидальных кривых со сдвигом фазы между каждой линией. Для первой строки используйте ширину линии 2. Для второго задайте стиль штриховой красной линии с маркерами кругов. Для третьего задайте голубой, штрих-точку стиль линии с маркерами звездочки. Отобразите легенду.

syms x
fplot(sin(x+pi/5),'Linewidth',2)
hold on
fplot(sin(x-pi/5),'--or')
fplot(sin(x),'-.*c')
legend('show','Location','best')
hold off

Figure contains an axes. The axes contains 3 objects of type functionline.

Управление разрешением графика

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

Разделите рисунок на две части при помощи subplot. В первой подграфике постройте график функции шага от x = 2.1 на x = 2.15. Разрешение графика слишком низкое, чтобы обнаружить функцию step. Исправьте эту проблему, увеличив MeshDensity на 39 во второй подграфике. График теперь обнаруживает функцию шага и показывает, что с увеличением MeshDensity вы увеличили разрешение графика.

syms x
stepFn = rectangularPulse(2.1, 2.15, x);

subplot(2,1,1)
fplot(stepFn);
title('Default MeshDensity = 23')

subplot(2,1,2)
fplot(stepFn,'MeshDensity',39);
title('Increased MeshDensity = 39')

Figure contains 2 axes. Axes 1 with title Default MeshDensity = 23 contains an object of type functionline. Axes 2 with title Increased MeshDensity = 39 contains an object of type functionline.

Изменение графика после создания

График sin(x). Задайте выход для создания fplot возвращает объект графика.

syms x
h = fplot(sin(x))

Figure contains an axes. The axes contains an object of type functionline.

h = 
  FunctionLine with properties:

     Function: [1x1 sym]
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Show all properties

Измените синюю линию по умолчанию на штриховую красную линию с помощью записи через точку для того, чтобы задать свойства. Точно так же добавьте 'x' маркеры и установите цвет маркера синий.

h.LineStyle = '--';
h.Color = 'r';
h.Marker = 'x';
h.MarkerEdgeColor = 'b';

Figure contains an axes. The axes contains an object of type functionline.

Добавление Заголовка и Подписей по осям и форматирование Тактов

Для x от -2π кому 2πГрафик sin(x). Добавьте заголовок и подписи по осям. Создайте такты на оси X путем охвата пределов оси X с интервалами pi/2. Отобразите эти такты при помощи XTick свойство. Создайте метки оси X при помощи arrayfun для применения texlabel на S. Отображение этих меток при помощи XTickLabel свойство.

Чтобы использовать LaTeX на графиках, смотрите latex.

syms x
fplot(sin(x),[-2*pi 2*pi])
grid on
title('sin(x) from -2\pi to 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);

Figure contains an axes. The axes with title sin(x) from -2\pi to 2\pi contains an object of type functionline.

Повторная оценка при масштабировании

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

График x^3*sin(1/x) для -2 < x < 2 и -0.02 < y < 0.02. Масштабирование графика с помощью zoom и перерисовать график используя drawnow. Из-за переоценки при масштабировании, fplot обнаруживает мелкосерийную детализацию. Чтобы просмотреть сведения меньшего масштаба, повторите масштабирование 6 раз. Чтобы воспроизвести анимацию, щелкните изображение.

syms x
fplot(x^3*sin(1/x));
axis([-2 2 -0.02 0.02]);
for i=1:6
    zoom(1.7)
    pause(0.5)
end

Создание анимаций

Создавайте анимации путем изменения отображаемого выражения с помощью Function, XFunction, и YFunction свойства и затем при помощи drawnow для обновления графика. Для экспорта в GIF см. раздел imwrite.

Варьируя i переменной от 0,1 до 3, анимируйте параметрическую кривую

x=itsin(it)y=itcos(it).

Чтобы воспроизвести анимацию, щелкните изображение.

syms t
fp = fplot(t, t);
axis([-15 15 -15 15])
for i=0.1:0.05:3
    fp.XFunction = i.*t.*sin(i*t);
    fp.YFunction = i.*t.*cos(i*t);
    drawnow
end

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

свернуть все

Выражение или функция для построения графика, заданные как символьное выражение или функция.

Интервал построения графика для координат X, заданный как вектор двух чисел. Значение по умолчанию область значений [-5 5]. Однако, если fplot обнаруживает конечное число разрывов в f, затем fplot расширяет область значений, чтобы показать их.

Параметрический вход для координат X, заданный как символьное выражение или функция. fplot использование symvar для поиска параметра.

Параметрический вход для оси Y, заданный как символьное выражение или функция. fplot использование symvar для поиска параметра.

Область значений значений t параметра, заданный как вектор двух чисел. Значение по умолчанию область значений [-5 5].

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

Стиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы опускаете стиль линии и задаете маркер, то на графике отображается только маркер и нет линии.

Пример: '--or' - красная штриховая линия с маркерами кругов

Стиль линииОписание
-Сплошная линия
--Штриховая линия
:Пунктирная линия
-.Штрих-точка линия
МаркерОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
's'Квадрат
'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'p'Пентаграмма
'h'Hexagram
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Marker','o','MarkerFaceColor','red'

Перечисленные здесь свойства функциональной линии являются только подмножеством. Полный список см. в разделе Свойства FunctionLine.

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

Отобразите асимптоты на полюсах, заданные как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Асимптоты отображаются в виде серых штриховых вертикальных линий. fplot отображает асимптоты только с fplot(f) синтаксис или варианты, а не с fplot(xt,yt) синтаксис.

Цвет линии, заданный как триплет 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'

Вот триплеты 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'

Пример: 'blue'

Пример: [0 0 1]

Пример: '#0000FF'

Стиль линии, заданный как одно из опций, перечисленных в этой таблице.

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Штриховая линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Нет линииНет линии

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

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

Символ маркера, заданный как одно из значений, перечисленных в этой таблице. По умолчанию объект не отображает маркеры. Установка символа маркера добавляет маркеры в каждую точку данных или вершину.

ЗначениеОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
'square' или 's'Квадрат
'diamond' или 'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' или 'h'Шестиконечная звезда (гексаграмма )
'none'Маркеров нет

Цвет контура маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'auto' использует тот же цвет, что и Color свойство.

Для пользовательского цвета укажите триплет 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'

Цвет заливки маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The 'auto' значение использует тот же цвет, что и MarkerEdgeColor свойство.

Для пользовательского цвета укажите триплет 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'

Пример: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

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

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

свернуть все

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

  • Если вы используете fplot(f) синтаксис или изменение этого синтаксиса, затем fplot возвращает объекты линии функции.

  • Если вы используете fplot(xt,yt) синтаксис или изменение этого синтаксиса, затем fplot возвращает параметризованные объекты линий.

Можно использовать эти объекты для запроса и изменения свойств определенной линии. Список свойств см. в разделах Свойства FunctionLine и Свойства ParameterizedFunctionLine.

Совет

  • Если fplot обнаруживает конечное число разрывов в f, затем fplot расширяет область значений, чтобы показать их.

Введенный в R2016a