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 для доступа и изменения свойств поверхности после ее создания. Список свойств см. в разделе Свойства ImplicitFunctionSurface.

Примеры

свернуть все

Постройте график гиперболоида 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). Функция должна принять три трехмерного массива входных параметров и вернуть трехмерному массиву выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .* (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

черный

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

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

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

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

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

Количество точек оценки в каждом направлении, заданное как скаляр.

Прозрачность лица, заданная в виде скаляра в области значений [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] соответствует черному. The '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. Для получения дополнительной информации смотрите Array vs. Матричные операции.

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

Введенный в R2016b