fsurf

Постройте график 3-D поверхности

Описание

пример

fsurf(f) создает объемную поверхностную диаграмму символьного выражения f(x,y) в течение интервала по умолчанию [-5 5] для x и y.

пример

fsurf(f,[min max]) графики f(x,y) через интервал [min max] для x и y.

пример

fsurf(f,[xmin xmax ymin ymax]) графики f(x,y) через интервал [xmin xmax] для x и [ymin ymax] для y. fsurf функция использует symvar чтобы упорядочить переменные и назначить интервалы.

пример

fsurf(funx,funy,funz) строит графики параметрической поверхности x = x(u,v), y = y(u,v), z = z(u,v) через интервал [-5 5] для u и v.

fsurf(funx,funy,funz,[uvmin uvmax]) строит графики параметрической поверхности x = x(u,v), y = y(u,v), z = z(u,v) через интервал [uvmin uvmax] для u и v.

пример

fsurf(funx,funy,funz,[umin umax vmin vmax]) строит графики параметрической поверхности x = x(u,v), y = y(u,v), z = z(u,v) через интервал [umin umax] для u и [vmin vmax] для v. fsurf функция использует symvar чтобы упорядочить параметрические переменные и назначить интервалы.

пример

fsurf(___,LineSpec) использует LineSpec чтобы задать стиль линии, символ маркера и цвет грани. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.

пример

fsurf(___,Name,Value) задает свойства линий с помощью одной или нескольких Name,Value аргументы в виде пар. Используйте эту опцию после любой комбинации входных аргументов в предыдущих синтаксисах.

fsurf(ax,___) графики в осях с объектом ax вместо текущей системы координат gca.

пример

fs = fsurf(___) возвращает объект поверхности функции или параметризованный объект поверхности функции, в зависимости от типа поверхности. Используйте объект для запроса и изменения свойств определенной поверхности. Для получения дополнительной информации см. FunctionSurface Properties и ParameterizedFunctionSurface Properties.

Примеры

3-D Объемные поверхностные диаграммы символьного выражения

Постройте график входа sin(x)+cos(y) по умолчанию область значений -5<x<5 и -5<y<5.

syms x y
fsurf(sin(x)+cos(y))

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

3-D Объемные поверхностные диаграммы символьной функции

Постройте график реальной части tan-1(x+iy) по умолчанию область значений -5<x<5 и -5<y<5.

syms f(x,y)
f(x,y) = real(atan(x + i*y));
fsurf(f)

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

Задайте Графическое изображение интервал Объемной поверхностной диаграммы

График sin(x)+cos(y) -π<x<π и -5<y<5 путем определения интервала графического изображения в качестве второго аргумента fsurf.

syms x y
f = sin(x) + cos(y);
fsurf(f, [-pi pi -5 5])

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

Параметризированные Объемные поверхностные диаграммы

Постройте график параметризованной поверхности

x=rcos(s)sin(t)y=rsin(s)sin(t)z=rcos(t)wherer=2+sin(7s+5t)

для 0<s<2π и 0<t<π.

Улучшите внешний вид графика при помощи camlight.

syms s t
r = 2 + sin(7*s + 5*t);
x = r*cos(s)*sin(t);
y = r*sin(s)*sin(t);
z = r*cos(t);
fsurf(x, y, z, [0 2*pi 0 pi])
camlight
view(46,52)

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

Объемная поверхностная диаграмма кусочно-линейного выражения

Постройте кусочное выражение бутылки Клейна

x(u,v)={-4cos(u)[1+sin(u)]-r(u)cos(u)cos(v)0<uπ-4cos(u)[1+sin(u)]+r(u)cos(v)π<u<2πy(u,v)=r(u)sin(v)z(u,v)={-14sin(u)-r(u)sin(u)cos(v)0<uπ-14sin(u)π<u<2πwherer(u)=4-2cos(u)

для 0<u<2π и 0<v<2π.

Покажите, что бутылка Клейна имеет только одностороннюю поверхность.

syms u v;
r = @(u) 4 - 2*cos(u);
x = piecewise(u <= pi, -4*cos(u)*(1+sin(u)) - r(u)*cos(u)*cos(v),...
    u > pi, -4*cos(u)*(1+sin(u)) + r(u)*cos(v));
y = r(u)*sin(v);
z = piecewise(u <= pi, -14*sin(u) - r(u)*sin(u)*cos(v),...
    u > pi, -14*sin(u));
h = fsurf(x,y,z, [0 2*pi 0 2*pi]);

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

Добавление Заголовка и Подписей по осям и форматирование Тактов

Для x и y от -2π кому 2π, постройте график 3-D поверхности ysin(x)-xcos(y). Добавьте заголовок и подписи по осям.

Создайте такты на оси X путем охвата пределов оси X с интервалами pi/2. Преобразуйте пределы по осям в точные множители pi/2 при помощи round и получите символические значения деления в S. Отобразите эти такты при помощи XTick свойство. Создайте метки оси X при помощи arrayfun для применения texlabel на S. Отображение этих меток при помощи XTickLabel свойство. Повторите эти шаги для оси Y.

Чтобы использовать LaTeX на графиках, смотрите latex.

syms x y
fsurf(y.*sin(x)-x.*cos(y), [-2*pi 2*pi])
title('ysin(x) - xcos(y) for x and y in [-2\pi,2\pi]')
xlabel('x')
ylabel('y')
zlabel('z')

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

Figure contains an axes. The axes with title ysin(x) - xcos(y) for x and y in [-2\pi,2\pi] contains an object of type functionsurface.

Стиль

линии для объемной поверхностной диаграммы

Постройте график параметрической поверхности x=ssin(t), y=-scos(t), z=t с различными стилями линии для различных значений t. Для -5<t<-2, используйте штриховую линию с зелеными маркерами точек. Для -2<t<2, используйте LineWidth от 1 и зеленый цвет лица. Для 2<t<5, отключите линии путем установки EdgeColor на none.

syms s t
fsurf(s*sin(t),-s*cos(t),t,[-5 5 -5 -2],'--.','MarkerEdgeColor','g')
hold on
fsurf(s*sin(t),-s*cos(t),t,[-5 5 -2 2],'LineWidth',1,'FaceColor','g')
fsurf(s*sin(t),-s*cos(t),t,[-5 5 2 5],'EdgeColor','none')

Figure contains an axes. The axes contains 3 objects of type parameterizedfunctionsurface.

Изменение поверхности после создания

Постройте график параметрической поверхности

x=e-|u|/10sin(5|v|)y=e-|u|/10cos(5|v|)z=u.

Задайте выход для создания fcontour возвращает объект графика.

syms u v
x = exp(-abs(u)/10).*sin(5*abs(v));
y = exp(-abs(u)/10).*cos(5*abs(v));
z = u;
fs = fsurf(x,y,z)

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

fs = 
  ParameterizedFunctionSurface with properties:

    XFunction: [1x1 sym]
    YFunction: [1x1 sym]
    ZFunction: [1x1 sym]
    EdgeColor: [0 0 0]
    LineStyle: '-'
    FaceColor: 'interp'

  Show all properties

Измените область значений u на [-30 30] при помощи URange свойство fs. Установите синий цвет линии при помощи EdgeColor свойство и укажите белые, точечные маркеры при помощи Marker и MarkerEdgeColor свойства.

fs.URange = [-30 30];
fs.EdgeColor = 'b';
fs.Marker = '.';
fs.MarkerEdgeColor = 'w';

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

Несколько Объемных поверхностных диаграмм и прозрачных поверхностей

Постройте график нескольких поверхностей с помощью векторного входа для fsurf. Кроме того, используйте hold on последовательно построить график на том же рисунке. При отображении нескольких поверхностей на одном рисунке полезна прозрачность. Настройте прозрачность объемных поверхностных диаграмм при помощи FaceAlpha свойство. FaceAlpha изменяется от 0 на 1, где 0 полная прозрачность и 1 нет прозрачности.

Постройте график плоскостей x+y и x-y использование векторного входа для fsurf. Покажите обе плоскости, сделав их наполовину прозрачными с помощью FaceAlpha.

syms x y
h = fsurf([x+y x-y]);
h(1).FaceAlpha = 0.5;
h(2).FaceAlpha = 0.5;
title('Planes (x+y) and (x-y) at half transparency')

Figure contains an axes. The axes with title Planes (x+y) and (x-y) at half transparency contains 2 objects of type functionsurface.

Управление разрешением Объемной поверхностной диаграммы

Управление разрешением объемной поверхностной диаграммы с помощью 'MeshDensity' опция. Увеличение 'MeshDensity' может сделать более плавными, более точные графики, в то время как уменьшение это может увеличить скорость графического изображения.

Разделите рисунок на две функции с помощью subplot. В первой подграфике постройте график параметрической поверхности x=sin(s), y=cos(s), и z=(t/10)sin(1/s). Поверхность имеет большой зазор. Исправьте эту проблему, увеличив 'MeshDensity' на 40 во второй подграфике. fsurf заполняет пробел, показывающий, что путем увеличения 'MeshDensity' вы увеличили разрешение графика.

syms s t

subplot(2,1,1)
fsurf(sin(s), cos(s), t/10.*sin(1./s))
view(-172,25)
title('Default MeshDensity = 35')

subplot(2,1,2)
fsurf(sin(s), cos(s), t/10.*sin(1./s),'MeshDensity',40)
view(-172,25)
title('Increased MeshDensity = 40')

Figure contains 2 axes. Axes 1 with title Default MeshDensity = 35 contains an object of type parameterizedfunctionsurface. Axes 2 with title Increased MeshDensity = 40 contains an object of type parameterizedfunctionsurface.

Показать контуры ниже Объемной поверхностной диаграммы

Показать контуры для объемной поверхностной диаграммы выражения f путем установки 'ShowContours' опция для 'on'.

syms x y
f = 3*(1-x)^2*exp(-(x^2)-(y+1)^2)...
- 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2)...
- 1/3*exp(-(x+1)^2 - y^2);
fsurf(f,[-3 3],'ShowContours','on')

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

Создание анимаций Объемных поверхностных диаграмм

Создавайте анимации путем изменения отображаемого выражения с помощью Function, XFunction, YFunction, и ZFunction свойства и затем при помощи drawnow для обновления графика. Для экспорта в GIF см. раздел imwrite.

Варьируя i переменной от 1 до 3, анимируйте параметрическую поверхность

x=tsin(s)y=cos(s)z=sin(is).

для -0,1 < u < 0,1 и 0 < v < 1. Увеличьте скорость графического изображения путем уменьшения MeshDensity на 9.

syms s t
h = fsurf(t.*sin(s), cos(s), sin(1./s), [-0.1 0.1 0 1]);
h.MeshDensity = 9;
for i=1:0.05:3
    h.ZFunction = sin(i./s);
    drawnow
end

Улучшение внешнего вида Объемной поверхностной диаграммы

Создайте символическое выражение f для функции

f=3(1-x)2exp(-(x2)-(y+1)2)-10(x/5-x3-y5)exp(-x2-y2)-1/3exp(-(x+1)2-y2).

Постройте график выражения f как поверхность. Улучшите внешний вид объемной поверхностной диаграммы, используя свойства указателя, возвращенные fsurf, свойства подсветки и colormap.

Создайте свет при помощи camlight. Увеличьте яркость при помощи brighten. Удалите линии путем установки EdgeColor на 'none'. Увеличьте окружающий свет, используя AmbientStrength. Для получения дополнительной информации смотрите Освещение , прозрачность и затенение. Включите коробку осей. Для заголовка преобразуйте f в LaTeX с использованием latex. Наконец, чтобы улучшить внешний вид тактов, меток осей и заголовка, установите 'Interpreter' на 'latex'.

syms x y
f = 3*(1-x)^2*exp(-(x^2)-(y+1)^2)... 
   - 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2)... 
   - 1/3*exp(-(x+1)^2 - y^2);
h = fsurf(f,[-3 3]);

camlight(110,70)
brighten(0.6)
h.EdgeColor = 'none';
h.AmbientStrength = 0.4;

a = gca;
a.TickLabelInterpreter = 'latex';
a.Box = 'on';
a.BoxStyle = 'full';

xlabel('$x$','Interpreter','latex')
ylabel('$y$','Interpreter','latex')
zlabel('$z$','Interpreter','latex')
title_latex = ['$' latex(f) '$'];
title(title_latex,'Interpreter','latex')

Figure contains an axes. The axes with title $3\,{\mathrm{e}}^{-{\left(y+1\right)}^2-x^2}\,{\left(x-1\right)}^2-\frac{{\mathrm{e}}^{-{\left(x+1\right)}^2-y^2}}{3}+{\mathrm{e}}^{-x^2-y^2}\,\left(10\,x^3-2\,x+10\,y^5\right)$ contains an object of type functionsurface.

Объемная поверхностная диаграмма с ограниченной плоскостью

Постройте график цилиндрического интерпретатора, ограниченной ниже функцией x-y плоскость и выше плоскостью z=x+2.

syms r t u
fsurf(cos(t),sin(t),u*(cos(t)+2),[0 2*pi 0 1])
hold on;

Добавление объемной поверхностной диаграммы плоскости z=x+2.

fsurf(r*cos(t),r*sin(t),r*cos(t)+2,[0 1 0 2*pi])

Figure contains an axes. The axes contains 2 objects of type parameterizedfunctionsurface.

Применить вращение и перемещение к Объемной поверхностной диаграмме

Применить вращение и перемещение к объемной поверхностной диаграмме тора.

Тор может быть задан параметрически как

x(θ,φ)=(R+acosθ)cosφy(θ,φ)=(R+acosθ)sinφz(θ,φ)=asinφ

где

  • θ - полярный угол и φ - азимутальный угол

  • a - радиус трубы

  • R - расстояние от центра трубы до центра тора

Определите значения для a и R как 1 и 5, соответственно. Постройте график тора с помощью fsurf.

syms theta phi
a = 1;
R = 4;
x = (R + a*cos(theta))*cos(phi);
y = (R + a*cos(theta))*sin(phi);
z = a*sin(theta);
fsurf(x,y,z,[0 2*pi 0 2*pi])
hold on

Применить вращение к тору вокруг x-ось. Задайте матрицу поворота. Поверните тор на 90 степени или π/2 радианы.

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;

Сдвиньте центр тора на 5 вдоль x-ось. Добавьте второй график повернутого и переведенного тора к существующему графику.

fsurf(r_90(1)+5,r_90(2),r_90(3))
axis([-5 10 -5 10 -5 5])
hold off

Figure contains an axes. The axes contains 2 objects of type parameterizedfunctionsurface.

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

свернуть все

Выражение или функция, которые нужно построить, заданные как символьное выражение или функция.

Интервал построения графиков для осей X и Y, заданный как вектор двух чисел. Значение по умолчанию является [-5 5].

Интервал построения графиков для осей X и Y, заданный как вектор с четырьмя числами. Значение по умолчанию является [-5 5 -5 5].

Параметрические функции u и v, заданный как символьное выражение или функция.

Интервал построения графиков для u и v оси, заданная как вектор двух чисел. Значение по умолчанию является [-5 5].

Интервал построения графиков для u и v, заданный как вектор четырех чисел. Значение по умолчанию является [-5 5 -5 5].

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

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

Пример: '--or' - красная штриховая линия с маркерами кругов

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

Пример: 'Marker','o','MarkerFaceColor','red'

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

Количество точек оценки в каждом направлении, заданное как число. Значение по умолчанию является 35. Потому что fsurf объекты используют адаптивную оценку, фактическое количество точек оценки больше.

Пример: 100

Отобразите контурный график под графиком, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Цвет линии, заданный как '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 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.

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

Символ маркера, заданный как одно из значений, перечисленных в этой таблице. По умолчанию объект не отображает маркеры. Установка символа маркера добавляет маркеры в каждую точку данных или вершину.

ЗначениеОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
'square' или 's'Квадрат
'diamond' или 'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' или 'h'Шестиконечная звезда (гексаграмма )
'none'Маркеров нет

Цвет контура маркера, заданный как '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'

Цвет заливки маркера, заданный как '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'

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

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

свернуть все

Один или несколько объектов, возвращенные в виде скаляра или вектора. Объект является объектом поверхности функции или параметризованным объектом поверхности, в зависимости от типа графика. Можно использовать эти объекты для запроса и изменения свойств определенной линии. Для получения дополнительной информации см. FunctionSurface Properties и ParameterizedFunctionSurface Properties.

Алгоритмы

fsurf присваивает символьные переменные в f на x ось, затем y ось, и symvar определяет порядок переменных, которые будут назначены. Поэтому имена переменных и осей могут не совпадать. Вызвать fsurf чтобы назначить x или y ее соответствующей оси, создайте символическую функцию для построения графика, затем передайте символьную функцию fsurf.

Для примера следующий код строит графики f (x, y) = sin (y) двумя способами. Первый способ заставляет волны колебаться относительно оси y. Второй способ присваивает y оси x, потому что это первая (и единственная) переменная в символьной функции.

syms x y;
f(x,y) = sin(y);

figure;
subplot(2,1,1)
fsurf(f);
subplot(2,1,2)
fsurf(f(x,y)); % Or fsurf(sin(y));

Введенный в R2016a