Постройте график 3-D неявного уравнения или функции
fimplicit3(
строит графики 3-D неявного уравнения или функции f
)f(x,y,z)
в течение интервала по умолчанию [-5 5]
для x
, y
, и z
.
fimplicit3(
графики f
,[xmin
xmax ymin ymax zmin zmax]
)f(x,y,z)
через интервал [xmin xmax]
для x
, [ymin ymax]
для y
, и [zmin zmax]
для z
. fimplicit3
функция использует symvar
чтобы упорядочить переменные и назначить интервалы.
fimplicit3(___,
использует LineSpec
)LineSpec
чтобы задать стиль линии, символ маркера и цвет грани.
fimplicit3(___,
задает свойства линий с помощью одной или нескольких Name,Value
)Name,Value
аргументы в виде пар. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.
fimplicit3(
графики в осях с объектом ax
,___)ax
вместо текущей системы координат gca
.
возвращает неявный объект поверхности функции. Используйте объект для запроса и изменения свойств определенной поверхности. Для получения дополнительной информации см. ImplicitFunctionSurface Properties.fi
= fimplicit3(___)
Постройте график гиперболоида при помощи fimplicit3
. The fimplicit3
графики функций через интервал по умолчанию для , , и .
syms x y z fimplicit3(x^2 + y^2 - z^2)
Постройте график гиперболоида, заданный функцией . The fimplicit3
графики функций через интервал по умолчанию для , , и .
syms f(x,y,z)
f(x,y,z) = x^2 + y^2 - z^2;
fimplicit3(f)
Задайте интервал графического изображения путем задания второго аргумента, который будет fimplicit3
. Постройте график верхней половины гиперболоида путем определения интервала . Для и , используйте интервал по умолчанию .
syms x y z f = x^2 + y^2 - z^2; interval = [-5 5 -5 5 0 5]; fimplicit3(f, interval)
Постройте график неявного уравнения через интервал для всех осей.
Создайте такты на оси X путем охвата пределов оси X с интервалами pi/2
. Преобразуйте пределы по осям в точные множители pi/2
при помощи round
и получите символические значения деления в S
. Отобразите эти такты при помощи XTick
свойство. Создайте метки оси X при помощи arrayfun
для применения texlabel
на S
. Отображение этих меток при помощи XTickLabel
свойство. Повторите эти шаги для оси Y.
Чтобы использовать LaTeX на графиках, смотрите latex
.
syms x y z eqn = x*sin(y) + z*cos(x); fimplicit3(eqn,[-2*pi 2*pi]) title('xsin(y) + zcos(x) for -2\pi < x < 2\pi and -2\pi < y < 2\pi') xlabel('x') ylabel('y') ax = gca; S = sym(ax.XLim(1):pi/2:ax.XLim(2)); S = sym(round(vpa(S/pi*2))*pi/2); ax.XTick = double(S); ax.XTickLabel = arrayfun(@texlabel,S,'UniformOutput',false); S = sym(ax.YLim(1):pi/2:ax.YLim(2)); S = sym(round(vpa(S/pi*2))*pi/2); ax.YTick = double(S); ax.YTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false);
Постройте график неявной поверхности с различными стилями линии для различных значений . Для , используйте штриховую линию с зелеными маркерами точек. Для , используйте LineWidth
от 1
и зеленый цвет лица. Для , отключите линии путем установки EdgeColor
на none
.
syms x y z f = x^2 + y^2 - z^2; fimplicit3(f,[-5 5 -5 5 -5 -2],'--.','MarkerEdgeColor','g') hold on fimplicit3(f,[-5 5 -5 5 -2 2],'LineWidth',1,'FaceColor','g') fimplicit3(f,[-5 5 -5 5 2 5],'EdgeColor','none')
Постройте график неявной поверхности . Задайте выход для создания fimplicit3
возвращает объект графика.
syms x y z f = 1/x^2 - 1/y^2 + 1/z^2; fi = fimplicit3(f)
fi = ImplicitFunctionSurface with properties: Function: [1x1 sym] EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'interp' Show all properties
Показать только положительную ось X путем установки XRange
свойство fi
на [0 5]
. Удалите линии путем установки EdgeColor
свойство к 'none'
. Визуализируйте скрытые поверхности, сделав график прозрачным, установив FaceAlpha
свойство к 0.8
.
fi.XRange = [0 5];
fi.EdgeColor = 'none';
fi.FaceAlpha = 0.8;
Управляйте разрешением неявной объемной поверхностной диаграммы при помощи 'MeshDensity'
опция. Увеличение 'MeshDensity'
может сделать более плавные, более точные графики при уменьшении 'MeshDensity'
может увеличить скорость графического изображения.
Разделите рисунок на две части при помощи subplot
. В первой подграфике постройте график неявной поверхности . Поверхность имеет большие зазоры. Исправьте эту проблему, увеличив 'MeshDensity'
на 40
во второй подграфике. fimplicit3
заполняет пробелы, показывающие, что путем увеличения 'MeshDensity'
вы увеличили разрешение графика.
syms x y z f = sin(1/(x*y*z)); subplot(2,1,1) fimplicit3(f) title('Default MeshDensity = 35') subplot(2,1,2) fimplicit3(f,'MeshDensity',40) title('Increased MeshDensity = 40')
Применить вращение и перемещение к неявной объемной поверхностной диаграмме тора.
Тор может быть задан неявным уравнением в Декартовых координатах как
где
- радиус трубы
- расстояние от центра трубы до центра тора
Определите значения для и как 1 и 5, соответственно. Постройте график тора с помощью fimplicit3
.
syms x y z a = 1; R = 4; f(x,y,z) = (x^2+y^2+z^2+R^2-a^2)^2 - 4*R^2*(x^2+y^2); fimplicit3(f) hold on
Применить вращение к тору вокруг -ось. Задайте матрицу поворота. Поверните тор на 90 степени или радианы. Сдвиньте центр тора на 5 вдоль -ось.
alpha = pi/2; Rx = [1 0 0; 0 cos(alpha) sin(alpha); 0 -sin(alpha) cos(alpha)]; r = [x; y; z]; r_90 = Rx*r; g = subs(f,[x,y,z],[r_90(1)-5,r_90(2),r_90(3)]);
Добавьте второй график повернутого и переведенного тора к существующему графику.
fimplicit3(g)
axis([-5 10 -5 10 -5 5])
hold off
f
- 3-D неявное уравнение или функцию для построения графика3-D неявное уравнение или функцию для построения графика, заданные как символьное уравнение, выражение или функция. Если выражение или функция заданы, то fimplicit3
принимает размер правой руки, который должен быть 0
.
[min max]
- Интервал графического изображения для осей x -, y - и z -Интервал построения графиков для осей x -, y - и z -, заданный как вектор двух чисел. Значение по умолчанию является [-5 5]
.
[xmin xmax ymin ymax zmin zmax]
- Интервал графического изображения для осей x -, y - и z -Интервал построения графиков для осей x -, y - и z -, заданный как вектор из шести чисел. Значение по умолчанию является [-5 5 -5 5 -5 5]
.
ax
- Объект осейОбъект осей. Если вы не задаете объект осей, то fimplicit3
использует текущую систему координат.
LineSpec
- Стиль линии, цвет и маркерСтиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы опускаете стиль линии и задаете маркер, то на графике отображается только маркер и нет линии.
Пример: '--or'
- красная штриховая линия с маркерами кругов
Стиль линии | Описание |
---|---|
- | Сплошная линия |
-- | Штриховая линия |
: | Пунктирная линия |
-. | Штрих-точка линия |
Маркер | Описание |
---|---|
'o' | Круг |
'+' | Плюс знак |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
's' | Квадрат |
'd' | Алмаз |
'^' | Направленный вверх треугольник |
'v' | Нисходящий треугольник |
'>' | Треугольник , указывающий вправо |
'<' | Треугольник , указывающий влево |
'p' | Пентаграмма |
'h' | Hexagram |
Цвет | Описание |
---|---|
| желтый |
| пурпурный |
| голубой |
| красный |
| зеленый |
| синий |
| белый |
| черный |
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Marker','o','MarkerFaceColor','red'
Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства ImplicitFunctionSurface.
'MeshDensity'
- Количество точек оценки в каждом направленииКоличество точек оценки в каждом направлении, заданное как число. Значение по умолчанию является 35
.
Пример: 100
'EdgeColor'
- Цвет линии[0 0 0]
(по умолчанию) | 'interp'
| триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет линии, заданный как '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' |
'LineStyle'
- Стиль линии'-'
(по умолчанию) | '--'
| ':'
| '-.'
| 'none'
Стиль линии, заданный как одно из опций, перечисленных в этой таблице.
Стиль линии | Описание | Результирующая линия |
---|---|---|
'-' | Сплошная линия |
|
'--' | Штриховая линия |
|
':' | Пунктирная линия |
|
'-.' | Штрих-пунктирная линия |
|
'none' | Нет линии | Нет линии |
'LineWidth'
- Ширина линии0.5
(по умолчанию) | положительное значениеШирина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.
Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы задаете ширину линии значение, которое меньше, чем ширина пикселя в вашей системе, линия отображается как один пиксель в ширину.
'Marker'
- Символ маркера'none'
(по умолчанию) | 'o'
| '+'
| '*'
| '.'
| ...Символ маркера, заданный как одно из значений, перечисленных в этой таблице. По умолчанию объект не отображает маркеры. Установка символа маркера добавляет маркеры в каждую точку данных или вершину.
Значение | Описание |
---|---|
'o' | Круг |
'+' | Плюс знак |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
'square' или 's' | Квадрат |
'diamond' или 'd' | Алмаз |
'^' | Направленный вверх треугольник |
'v' | Нисходящий треугольник |
'>' | Треугольник , указывающий вправо |
'<' | Треугольник , указывающий влево |
'pentagram' или 'p' | Пятиконечная звезда (пентаграмма) |
'hexagram' или 'h' | Шестиконечная звезда (гексаграмма ) |
'none' | Маркеров нет |
'MarkerEdgeColor'
- Цвет контура маркера'auto'
(по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет контура маркера, заданный как 'auto'
, триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'auto'
использует тот же цвет, что и EdgeColor
свойство.
Для пользовательского цвета укажите триплет 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.5 0.5 0.5]
Пример: 'blue'
Пример: '#D2F9A7'
'MarkerFaceColor'
- Цвет заливки маркера'none'
(по умолчанию) | 'auto'
| триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет заливки маркера, заданный как 'auto'
, триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The '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'
'MarkerSize'
- Размер маркера6
(по умолчанию) | положительное значениеРазмер маркера, заданный как положительное значение в точках, где 1 точка = 1/72 дюйма.
fi
- Один или несколько объектовОдин или несколько объектов, возвращенные в виде скаляра или вектора. Объект является неявным объектом поверхности функции. Можно использовать эти объекты для запроса и изменения свойств определенной линии. Для получения дополнительной информации см. ImplicitFunctionSurface Properties.
fimplicit3
присваивает символьные переменные в f
на x
ось, y
ось, затем z
ось, и symvar
определяет порядок переменных, которые будут назначены. Поэтому имена переменных и осей могут не совпадать. Вызвать fimplicit3
чтобы назначить x, y или z ее соответствующей оси, создайте символьную функцию для построения графика, затем передайте символьную функцию fimplicit3
.
Для примера следующий код строит графики корней неявной функции f (x, y, z) = x + z двумя способами. Первый путь силfimplicit3
для назначения x и z соответствующим осям. Во-вторых, fimplicit3
откладывает на symvar
для определения переменного порядка и назначения оси: fimplicit3
присваивает x и z x и y осям, соответственно.
syms x y z; f(x,y,z) = x + z; figure; subplot(2,1,1) fimplicit3(f); view(-38,71); subplot(2,1,2) fimplicit3(f(x,y,z)); % Or fimplicit3(x + z);
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.