exponenta event banner

fplot3

3-D параметрический график кривых

Описание

пример

fplot3(funx,funy,funz) отображает параметрическую кривую, определенную x = funx(t), y = funy(t), и z = funz(t) за интервал по умолчанию [-5,5] для t.

пример

fplot3(funx,funy,funz,tinterval) графики на указанном интервале. Укажите интервал как двухэлементный вектор формы [tmin tmax].

пример

fplot3(___,LineSpec) задает стиль линии, обозначение маркера и цвет линии. Например, '-r' указывает красную линию. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.

fplot3(___,Name,Value) задает свойства строки, используя один или несколько аргументов пары имя-значение. Например, 'LineWidth',2 задает ширину линии, равную 2 точкам.

fplot3(ax,___) строит графики в осях, указанных ax вместо текущих осей. Укажите оси в качестве первого входного аргумента.

пример

fp = fplot3(___) возвращает ParameterizedFunctionLine объект. Объект используется для запроса и изменения свойств определенной строки. Список свойств см. в разделе Параметры (Parameter) Функциональные свойства (FuncterLine) Свойства (Properties).

Примеры

свернуть все

Печать параметрической линии 3-D

x = sin (t) y = cos (t) z = t

в диапазоне параметров по умолчанию [-5 5].

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

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

Печать параметрической линии

x = e-t/10sin (5t) y = e-t/10cos (5t) z = t

в диапазоне параметров [-10 10] путем указания четвертого входного аргумента fplot3.

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

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

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

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

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

Печать нескольких линий в одной оси с помощью hold on.

fplot3(@(t)t, @(t)t, @(t)t)
hold on
fplot3(@(t)-t, @(t)t, @(t)-t)
hold off

Figure contains an axes. The axes contains 2 objects of type parameterizedfunctionline.

Печать параметрической линии

x = e- | t |/10sin (5 | t |) y = e- | t |/10cos (5 | t |) z = t.

Назначьте параметризованный объект строки функции переменной.

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

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

fp = 
  ParameterizedFunctionLine with properties:

    XFunction: @(t)exp(-abs(t)/10).*sin(5*abs(t))
    YFunction: @(t)exp(-abs(t)/10).*cos(5*abs(t))
    ZFunction: @(t)t
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Show all properties

Изменение диапазона значений параметров на [-10 10] и измените цвет линии на красный.

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

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

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

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

Добавьте заголовок, метку оси X и метку оси Y. Кроме того, измените вид осей и отобразите контур поля осей.

xt = @(t)t;
yt = @(t)t/2;
zt = @(t)sin(6*t);
fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30,'LineWidth',1);

title('x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi')
xlabel('x');
ylabel('y');
view(52.5,30)
box on

Figure contains an axes. The axes with title x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi contains an object of type parameterizedfunctionline.

Доступ к объекту-осям с помощью gca. Задайте значения засечек по оси X и связанные с ними метки с помощью XTick и XTickLabel свойства объекта оси. Аналогично, задайте значения засечек по оси Y и связанные с ними метки.

ax = gca;
ax.XTick = -2*pi:pi/2:2*pi;
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
ax.YTick = -pi:pi/2:pi;
ax.YTickLabel = {'-\pi','-\pi/2','0','\pi/2','\pi'};

Figure contains an axes. The axes with title x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi contains an object of type parameterizedfunctionline.

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

свернуть все

Параметрическая функция для координат x, заданная как дескриптор функции для именованной или анонимной функции.

Укажите функцию формы x = funx(t). Функция должна принимать входной аргумент вектора и возвращать выходной аргумент вектора того же размера. Для достижения максимальной производительности используйте операторы массива вместо матричных операторов. Например, использовать .* (times) вместо * (mtimes).

Пример: funx = @(t) sin(2*t);

Параметрическая функция для координат y, заданная как дескриптор функции для именованной или анонимной функции.

Укажите функцию формы y = funy(t). Функция должна принимать входной аргумент вектора и возвращать выходной аргумент вектора того же размера. Для достижения максимальной производительности используйте операторы массива вместо матричных операторов. Например, использовать .* (times) вместо * (mtimes).

Пример: funy = @(t) cos(2*t);

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

Укажите функцию формы z = funz(t). Функция должна принимать входной аргумент вектора и возвращать выходной аргумент вектора того же размера. Для достижения максимальной производительности используйте операторы массива вместо матричных операторов. Например, использовать .* (times) вместо * (mtimes).

Пример: funz = @(t) t;

Интервал для параметра t, указанный как двухэлементный вектор формы [tmin tmax].

Объект Axes. Если объект axes не указан, то fplot3 использует текущие оси (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'

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

Количество точек оценки, указанное как число. Значение по умолчанию: 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'

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

Пример: 'green'

Пример: '#D2F9A7'

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

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

свернуть все

Один или несколько ParameterizedFunctionLine объекты, возвращаемые в виде скаляра или вектора. Эти объекты можно использовать для запроса и изменения свойств определенного ParameterizedFunctionLine объект. Дополнительные сведения см. в разделе Свойства ParameteringFuncureLine.

См. также

Функции

Свойства

Представлен в R2016a