fimplicit3

Графическое изображение 3-D неявной функции

Описание

пример

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

пример

fimplicit3(f,interval) задает интервал графического вывода для xY, и z.

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

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

пример

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

пример

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

Примеры

свернуть все

Постройте гиперболоид 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)

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

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

  • Вектор с шестью элементами из формы [xmin xmax ymin ymax zmin zmax] — Используйте различные интервалы графического вывода для xY, и 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'Гексаграмма
ЦветОписание

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) задает количество точек оценки и значения прозрачности.

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

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

Столкнитесь с прозрачностью в виде скаляра в области значений [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 повторно вычисляет данные, которые могут показать скрытые детали.

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

Функции

Свойства

Введенный в R2017b