fplot

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

Синтаксис

fplot(f)
fplot(f,[xmin xmax])
fplot(xt,yt)
fplot(xt,yt,[tmin tmax])
fplot(___,LineSpec)
fplot(___,Name,Value)
fplot(ax,___)
fp = 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 Properties and ParameterizedFunctionLine Properties.

Примеры

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

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

syms x
fplot(tan(x))

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

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

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

Постройте параметрическую кривую

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

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

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

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

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

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

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

Разделите фигуру на два подграфика с помощью subplot. На первом подграфике, графике sin(x) и потому что(x) использование векторного входа. На втором подграфике, графике sin(x) и потому что(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

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

Постройте три синусоиды со сдвигом фазы между каждой строкой. Для первой строки используйте linewidth 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

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

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

Разделите фигуру на два при помощи subplot. В первом подграфике постройте ступенчатую функцию от x = 2.1 до x = 2.15. Разрешение графика является слишком низким, чтобы обнаружить ступенчатую функцию. Устраните эту проблему путем увеличения 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')

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

Постройте sin(x). Задайте вывод, чтобы заставить fplot возвратить объект графика.

syms x
h = fplot(sin(x))

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';

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

Для 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);

Переоценка на изменении масштаба

Когда вы масштабируете в график, 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=itпотому что(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.

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

Пример: 'r--o' задает красный цвет, пунктирную линию и круговые маркеры

Спецификатор стиля линииОписание
-Сплошная линия (значение по умолчанию)
--Пунктирная линия
:Пунктирная линия
-.Штрихпунктирная линия
Спецификатор маркераОписание
oКруг
+Знак «плюс»
*Звездочка
.Точка
xКрест
sКвадрат
dРомб
^Треугольник, направленный вверх
vНисходящий треугольник
>Треугольник, указывающий вправо
<Треугольник, указывающий влево
pПентаграмма
hГексаграмма
\color{specifier}Описание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

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

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

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

Отобразите асимптоты в полюсах, заданных как 'on' (значение по умолчанию) или 'off'. Асимптоты отображаются как серые, подчеркнутые штриховой линией вертикальные строки. 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' or '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, шестнадцатеричный цветовой код, название цвета или краткое название. Значение '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'

Example: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

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

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

свернуть все

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

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

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

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

Советы

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

Введенный в R2016a

Для просмотра документации необходимо авторизоваться на сайте