exponenta event banner

fimplicit3

График 3-D неявная функция

Описание

пример

fimplicit3(f) строит график неявной функции 3-D, определенной f(x,y,z) = 0 за интервал по умолчанию [-5 5] для x, y, и z.

пример

fimplicit3(f,interval) задает интервал печати для x, y, и z.

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

fimplicit3(___,LineSpec) определяет стиль линии, обозначение маркера и цвет линии. Например, '-r' указывает красные линии.

пример

fimplicit3(___,Name,Value) задает свойства поверхности, используя один или несколько аргументов пары имя-значение. Например, 'FaceAlpha',0.6 задает значение прозрачности, равное 0.6 для полупрозрачной поверхности.

пример

fs = fimplicit3(___) возвращает значение ImplicitFunctionSurface объект. Использовать fs для доступа и изменения свойств поверхности после ее создания. Список свойств см. в разделе Свойства ImplicitFuncterSurface.

Примеры

свернуть все

Постройте график гиперболоида x2 + y2-z2 = 0 на интервале по умолчанию [-5,5] для x, y и z.

f = @(x,y,z) x.^2 + y.^2 - z.^2;
fimplicit3(f)

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

Постройте график верхней половины гиперболоида x2 + y2-z2 = 0, указав интервал печати как [0 5] для z. Для x и y используйте интервал по умолчанию[-5 5].

f = @(x,y,z) x.^2 + y.^2 - z.^2;
interval = [-5 5 -5 5 0 5];
fimplicit3(f,interval)

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

Постройте график неявной поверхности x2 + y2-z2 = 0. Удалите линии, установив EdgeColor свойство для 'none'. Добавить прозрачность, установив FaceAlpha для значения от 0 до 1.

f = @(x,y,z) x.^2 + y.^2 - z.^2;
fimplicit3(f,'EdgeColor','none','FaceAlpha',.5)

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

Печать неявной поверхности и назначение объекта неявной поверхности переменной fs.

f = @(x,y,z) 1./x.^2 - 1./y.^2 + 1./z.^2;
fs = fimplicit3(f)

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

fs = 
  ImplicitFunctionSurface with properties:

     Function: @(x,y,z)1./x.^2-1./y.^2+1./z.^2
    EdgeColor: [0 0 0]
    LineStyle: '-'
    FaceColor: 'interp'

  Show all properties

Использовать fs для доступа и изменения свойств неявной поверхности после ее создания. Например, показать только положительные значения x, установив XRange свойство для [0 5]. Удалите линии, установив EdgeColor свойство для 'none'. Добавить прозрачность, установив FaceAlpha свойство для 0.8.

fs.XRange = [0 5];
fs.EdgeColor = 'none';
fs.FaceAlpha = 0.8;

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

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

свернуть все

3-D неявную функцию для печати, заданную как дескриптор функции для именованной или анонимной функции.

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

Пример: fimplicit3(@(x,y,z) x.^2 + y.^2 - z.^2)

Интервал печати для x, y, и z, указанные в одной из следующих форм:

  • Двухэлементный вектор формы [min max] - Использовать один и тот же интервал печати [min max] для x, y, и z.

  • Шестиэлементный вектор формы [xmin xmax ymin ymax zmin zmax] - Использовать различные интервалы печати для x, y, и z. Печать по интервалу [xmin xmax] для x, свыше [ymin ymax] для y, и более [zmin zmax] для z.

Пример: fimplicit3(f,[-2 3 -4 5 -3 3])

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

Пример: '--or' - красная пунктирная линия с маркерами окружности

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Объект Axes. Если оси не указаны, то fimplicit3 использует текущие оси.

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

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

Пример: fimplicit3(f,'MeshDensity',50,'FaceAlpha',0.5) определяет количество точек вычисления и значение прозрачности.

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

Количество точек вычисления на направление, указанное как скаляр.

Прозрачность грани, заданная как скаляр в диапазоне [0,1]. Используйте одинаковую прозрачность для всех граней. Значение 1 является полностью непрозрачным и 0 является полностью прозрачным. Значения между 0 и 1 полупрозрачные.

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

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

Цвет линии, указан как 'interp', триплет RGB, шестнадцатеричный цветовой код, имя цвета или короткое имя. Значение триплета RGB по умолчанию [0 0 0] соответствует черному. 'interp' значение цветит края на основе ZData значения.

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

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

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

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

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

'-.'Пунктирная линия

'none'Без строкиБез строки

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

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

Совет

  • Для достижения максимальной производительности и во избежание появления предупреждающего сообщения используйте операторы на основе элементов. Например, использовать x.*y вместо x*y. Дополнительные сведения см. в разделе Операции с массивом и матрицей.

  • При увеличении масштаба диаграммы fimplicit3 повторно вычисляет данные, которые могут открыть скрытые детали.

См. также

Функции

Свойства

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