fplot3

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

Описание

пример

fplot3(xt,yt,zt) строит параметрическую кривую xt = x (t), yt = y (t) и zt = z (t) на интервале по умолчанию –5 < t < 5.

пример

fplot3(xt,yt,zt,[tmin tmax]) графики xt = x (t), yt = y (t) и zt = z (t) на интервале tmin <t <tmax.

пример

fplot3(___,LineSpec) использование LineSpec установить стиль линии, символ маркера и цвет линии.

пример

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

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

пример

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

Примеры

Построение 3-D параметрического графика

Постройте 3-D параметрический график

x=sin(t)y=потому что(t)z=t

по параметру по умолчанию располагаются [-5 5].

syms t
xt = sin(t);
yt = cos(t);
zt = t;
fplot3(xt,yt,zt)

Определение области значений параметра

Постройте параметрический график

x=e-t/10sin(5t)y=e-t/10потому что(5t)z=t

по параметру располагаются [-10 10] путем определения четвертого аргумента fplot3.

syms t
xt = exp(-t/10).*sin(5*t);
yt = exp(-t/10).*cos(5*t);
zt = t;
fplot3(xt,yt,zt,[-10 10])

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

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

syms t
fplot3(sin(t), cos(t), t, [0 2*pi], 'LineWidth', 2)
hold on
fplot3(sin(t), cos(t), t, [2*pi 4*pi], '--or')
fplot3(sin(t), cos(t), t, [4*pi 6*pi], '-.*c')

Постройте 3-D параметрический график Используя символьные функции

Постройте 3-D параметрический график

x(t)=sin(t)y(t)=потому что(t)z(t)=потому что(2t).

syms x(t) y(t) z(t)
x(t) = sin(t);
y(t) = cos(t);
z(t) = cos(2*t);
fplot3(x,y,z)

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

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

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

syms t
subplot(2,1,1)
fplot3([t -t], t, [t -t])
title('Multiple Lines Using Vector Inputs')

subplot(2,1,2)
fplot3(t, t, t)
hold on
fplot3(-t, t, -t)
title('Multiple Lines Using Hold On Command')

hold off

Изменение 3-D параметрической строки после создания

Постройте параметрический график

x=e-|t|/10sin(5|t|)y=e-|t|/10потому что(5|t|)z=t.

Обеспечьте выход, чтобы сделать fplot возвратите объект графика.

syms t
xt = exp(-abs(t)/10).*sin(5*abs(t));
yt = exp(-abs(t)/10).*cos(5*abs(t));
zt = t;
fp = fplot3(xt,yt,zt)

fp = 
  ParameterizedFunctionLine with properties:

    XFunction: [1x1 sym]
    YFunction: [1x1 sym]
    ZFunction: [1x1 sym]
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Show all properties

Измените область значений значений параметров к [-10 10] и цвет линии к красному при помощи TRange и Color свойства fp соответственно.

fp.TRange = [-10 10];
fp.Color = 'r';

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

Для t значения в области значений -2π к 2π, постройте параметрический график

x=ty=t/2z=sin(6t).

Добавьте заголовок и подписи по осям. Создайте метки деления оси X путем охвата пределов оси X с промежутками в pi/2. Отобразите эти метки деления при помощи XTick свойство. Создайте метки оси X при помощи arrayfun применять texlabel к S. Отобразите эти метки при помощи XTickLabel свойство. Повторите эти шаги для оси Y.

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

syms t
xt = t;
yt = t/2;
zt = sin(6*t);
fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30)
view(52.5,30)
xlabel('x')
ylabel('y')
title('x=t, y=t/2, z=sin(6t) for -2\pi < t < 2\pi')
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);

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

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

Путем варьирования переменной i от 0 до 4π, анимируйте параметрическую кривую

x=t+sin(40t)y=t+потому что(40t)z=sin(t+i).

Чтобы проигрывать анимацию, нажмите на изображение.

syms t
fp = fplot3(t+sin(40*t),-t+cos(40*t), sin(t));
for i=0:pi/10:4*pi
    fp.ZFunction = sin(t+i);
drawnow
end

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

свернуть все

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

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

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

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

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

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

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

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

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

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

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

Цвет линии, заданный как триплет 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, шестнадцатеричный цветовой код, название цвета или краткое название. '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 дюйма.

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

свернуть все

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

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

Функции

Свойства

Введенный в R2016a

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