fimplicit

Постройте неявное символьное уравнение или функцию

Описание

пример

fimplicit(f) строит неявное символьное уравнение или функциональный f на интервале по умолчанию [-5 5] для x и y.

fimplicit(f,[min max]) графики f на интервале min <x <max и min <y <max.

пример

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

пример

fimplicit(___,LineSpec) использование LineSpec установить стиль линии, символ маркера и цвет линии.

пример

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

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

пример

fi = fimplicit(___) возвращает объект линии неявной функции. Используйте объект запросить и изменить свойства определенной линии. Для получения дополнительной информации смотрите ImplicitFunctionLine Properties.

Примеры

свернуть все

Постройте гиперболу x2-y2=1 при помощи fimplicit. fimplicit функционируйте использует интервал по умолчанию [-5,5] для x и y.

syms x y
fimplicit(x^2 - y^2 == 1)

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

Постройте гиперболу, описанную функцией f(x,y)=x2-y2-1 первым объявлением символьного функционального f(x,y) использование syms. fimplicit функционируйте использует интервал по умолчанию [-5,5] для x и y.

syms f(x,y)
f(x,y) = x^2 - y^2 - 1;
fimplicit(f)

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

Постройте половину круга x2+y2=3 при помощи интервалов -4<x<0 и -2<y<2. Задайте интервал графического вывода в качестве второго аргумента fimplicit.

syms x y
circle = x^2 + y^2 == 3;
fimplicit(circle, [-4 0 -2 2])

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

Можно построить несколько уравнений или путем передачи входных параметров как вектора или при помощи hold on последовательно построить на той же фигуре. Если вы задаете LineSpec и аргументы Name-Value, они применяются ко всем линиям. Чтобы установить опции для отдельных участков, используйте указатели на функцию, возвращенные fimplicit.

Разделите фигуру на два подграфика при помощи subplot. На первом подграфике, графике x2+y2==1 и x2+y2==3 использование векторного входа. На втором подграфике постройте те же входные параметры при помощи hold on.

syms x y
circle1 = x^2 + y^2 == 1;
circle2 = x^2 + y^2 == 3;

subplot(2,1,1)
fimplicit([circle1 circle2])
title('Multiple Equations Using Vector Input')

subplot(2,1,2)
fimplicit(circle1)
hold on
fimplicit(circle2)
title('Multiple Equations Using hold on Command')

hold off

Figure contains 2 axes. Axes 1 with title Multiple Equations Using Vector Input contains 2 objects of type implicitfunctionline. Axes 2 with title Multiple Equations Using hold on Command contains 2 objects of type implicitfunctionline.

Постройте три концентрических круга увеличивающегося диаметра. Для первой линии используйте linewidth 2. Для второго задайте пунктирный стиль красной линии с круговыми маркерами. Для третьего задайте голубой стиль штрихпунктирной линии с маркерами звездочки. Отобразите легенду.

syms x y
circle = x^2 + y^2;
fimplicit(circle == 1, 'Linewidth', 2)
hold on
fimplicit(circle == 2, '--or')
fimplicit(circle == 3, '-.*c')
legend('show','Location','best')
hold off

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

График ysin(x)+xcos(y)=1. Задайте выход, чтобы сделать fimplicit возвратите объект графика.

syms x y
eqn = y*sin(x) + x*cos(y) == 1;
fi = fimplicit(eqn)

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

fi = 
  ImplicitFunctionLine with properties:

     Function: [1x1 sym]
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Show all properties

Измените нанесенное на график уравнение в xcos(y)+ysin(x)=0 при помощи записи через точку, чтобы установить свойства. Точно так же измените цвет линии в красный и стиль линии к штрихпунктирной линии. Горизонтальные и вертикальные линии в выходе являются артефактами, которые должны быть проигнорированы.

fi.Function = x/cos(y) + y/sin(x) == 0;
fi.Color = 'r';
fi.LineStyle = '-.';

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

График xcos(y)+ysin(x)=1 на интервале -2π<x<2π и -2π<y<2π. Добавьте заголовок и подписи по осям. Создайте метки деления оси X путем охвата пределов оси X с промежутками в pi/2. Отобразите эти метки деления при помощи XTick свойство. Создайте метки оси X при помощи arrayfun применять texlabel к S. Отобразите эти метки при помощи XTickLabel свойство. Повторите эти шаги для оси Y.

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

syms x y
eqn = x*cos(y) + y*sin(x) == 1;
fimplicit(eqn, [-2*pi 2*pi])
grid on
title('x cos(y) + y sin(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));
ax.XTick = double(S);
ax.XTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false);

S = sym(ax.YLim(1):pi/2:ax.YLim(2));
ax.YTick = double(S);
ax.YTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false);

Figure contains an axes. The axes with title x cos(y) + y sin(x) for -2\pi < x < 2\pi and -2\pi < y < 2\pi contains an object of type implicitfunctionline.

Когда вы масштабируете в график, fimplicit переоценивает график автоматически. Эта переоценка на изменении масштаба может показать скрытую деталь в меньших масштабах.

Разделите фигуру на два при помощи subplotграфик xcos(y)+ysin(1/x)=0 и в первых и во вторых подграфиках. Масштабируйте во второй подграфик при помощи zoom. Масштабируемый подграфик показывает деталь, которая не отображается в первом подграфике.

syms x y
eqn = x*cos(y) + y*sin(1/x) == 0;

subplot(2,1,1)
fimplicit(eqn)

subplot(2,1,2)
fimplicit(eqn)
zoom(2)

Figure contains 2 axes. Axes 1 contains an object of type implicitfunctionline. Axes 2 contains an object of type implicitfunctionline.

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

свернуть все

Неявное уравнение или функция, чтобы построить в виде символьного уравнения, выражения или функции. Если правая сторона не задана, то она принята, чтобы быть 0.

Графический вывод области значений для x и yВ виде вектора из двух чисел. Областью значений по умолчанию является [-5 5].

Графический вывод области значений для x и yВ виде вектора из четырех чисел. Областью значений по умолчанию является [-5 5 -5 5].

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

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

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

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

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

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

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

Цвет линии в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия.

Для пользовательского цвета задайте триплет 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'

Вот являются триплеты 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'

Пример: 'blue'

Пример: [0 0 1]

Пример: '#0000FF'

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

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

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

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

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

'none'Никакая линияНикакая линия

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

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

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

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

Цвет контура маркера в виде 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Значение по умолчанию 'auto' использует тот же цвет в качестве Color свойство.

Для пользовательского цвета задайте триплет 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'

Цвет заливки маркера в виде 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. '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'

Example: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

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

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

свернуть все

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

Алгоритмы

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

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

syms x y;
f(x,y) = sin(y);
intvl = [-6 6]*pi;

figure;
subplot(2,1,1)
fimplicit(f,intvl);
subplot(2,1,2)
fimplicit(f(x,y),intvl); % Or fimplicit(sin(y) == 0,intvl);

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

Функции

Свойства

Введенный в R2017b