fimplicit3

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

Синтаксис

fimplicit3(f)
fimplicit3(f,interval)
fimplicit3(ax,___)
fimplicit3(___,LineSpec)
fimplicit3(___,Name,Value)
fs = fimplicit3(___)

Описание

пример

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 Properties.

Примеры

свернуть все

Постройте график гиперболоида на интервале по умолчанию для x, y, и z.

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

Постройте график верхней половины гиперболоида путем определения интервала графического изображения как [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)

Постройте график неявной поверхности. Удалите строки путем установки свойства EdgeColor на 'none'. Добавьте прозрачность путем установки свойства FaceAlpha на значение между 0 и 1.

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

Постройте график неявной поверхности и присвойте неявный объект подложки переменному fs.

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

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;

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

свернуть все

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])

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

Пример: fimplicit3 (f', - или') строит красный, пунктирный график с круговыми маркерами.

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

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

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

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

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

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

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

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

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

Пример: 0.75

Советы

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

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

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

Функции

Свойства

Введенный в R2017b

Была ли эта тема полезной?