exponenta event banner

Создание графиков

Печать с символическими функциями печати

MATLAB ® предоставляет множество методов печати числовых данных. Графические возможности MATLAB включают в себя инструменты печати, стандартные функции печати, инструменты обработки графики и исследования данных, а также инструменты печати и экспорта графики в стандартные форматы. Символьная математическая Toolbox™ расширяет эти графические возможности и позволяет выводить на график символьные функции с помощью:

  • fplot для создания 2-D графиков символьных выражений, уравнений или функций в декартовых координатах.

  • fplot3 для создания 3-D параметрических графиков.

  • ezpolar для создания графиков в полярных координатах.

  • fsurf для создания поверхностных графиков.

  • fcontour для создания контурных графиков.

  • fmesh для создания сеточных графиков.

Постройте график символического выражения sin (6x) с помощью fplot. По умолчанию fplot использует диапазон -5 < x < 5.

syms x
fplot(sin(6*x))

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

Постройте график символьного выражения или функции в полярных координатах r (радиус) и (полярный угол) с помощью ezpolar. По умолчанию ezpolar строит график символьного выражения или функции на интервале 0 <

Постройте график символического выражения sin (6t) в полярных координатах.

syms t
ezpolar(sin(6*t))

Численно функции печати

В качестве альтернативы графическому отображению выражений можно заменить символьные переменные числовыми значениями с помощью subs. Затем можно использовать эти числовые значения с функциями печати в MATLAB™.

В следующих выражениях u и v, заменить символьные переменные x и y с числовыми значениями, определенными meshgrid.

syms x y
u = sin(x^2 + y^2);
v = cos(x*y);
[X, Y] = meshgrid(-1:.1:1,-1:.1:1);
U = subs(u, [x y], {X,Y});
V = subs(v, [x y], {X,Y});

Теперь можно строить графики U и V с помощью стандартных функций печати MATLAB.

Создание графика векторного поля, определяемого функциями U(X,Y) и V(X,Y) с помощью MATLAB quiver функция.

quiver(X, Y, U, V)

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

Печать нескольких символьных функций на одном графике

Постройте график нескольких функций на одном графике путем последовательного добавления функций. После печати первой функции добавьте последующие функции с помощью hold on команда. hold on команда сохраняет существующие графики. Без hold on каждый новый график заменяет любой существующий график. После hold on каждый новый график отображается поверх существующих графиков. Вернитесь к поведению замены графиков по умолчанию с помощью hold off команда.

График f = exsin (20x) с использованиемfplot. Отображение границ f путем наложения графиков ex и -ex в виде пунктирных красных линий. Задайте заголовок с помощью DisplayName свойство объекта, возвращенное fplot.

syms x y
f = exp(x)*sin(20*x)
f = sin(20x)exsin(20*x)*exp(x)
obj = fplot(f,[0 3]);
hold on
fplot(exp(x), [0 3], '--r')
fplot(-exp(x), [0 3], '--r')
title(obj.DisplayName)
hold off

Figure contains an axes. The axes with title {sin}({20} {x}) {exp}({x}) contains 3 objects of type functionline.

Печать нескольких символьных функций на одном рисунке

Отображение нескольких функций рядом на одной фигуре путем разделения окна фигуры на несколько вложенных диаграмм с помощью subplot. Команда subplot(m,n,p) делит фигуру на m около n матрица вложенных чертежей и выбор вложенных графиков p. Отображение нескольких графиков в отдельных подсхемах путем выбора подсхемы и использования команд печати. Построение нескольких вложенных графиков полезно для параллельного сравнения графиков.

Сравните графики sin ((x2 + y2 )/a) для a = 10 20 50 100 с помощью subplot для создания параллельных вложенных диаграмм.

syms x y a
f = sin((x^2 + y^2)/a);

subplot(2, 2, 1)
fsurf(subs(f, a, 10))
title('a = 10')

subplot(2, 2, 2)
fsurf(subs(f, a, 20))
title('a = 20')

subplot(2, 2, 3)
fsurf(subs(f, a, 50))
title('a = 50')

subplot(2, 2, 4)
fsurf(subs(f, a, 100))
title('a = 100')

Figure contains 4 axes. Axes 1 with title a = 10 contains an object of type functionsurface. Axes 2 with title a = 20 contains an object of type functionsurface. Axes 3 with title a = 50 contains an object of type functionsurface. Axes 4 with title a = 100 contains an object of type functionsurface.

Объединение графиков символьных функций и графиков числовых данных

Печать числовых и символьных данных на одном графике с использованием функций MATLAB и Symbolic Math Toolbox.

Для числовых значений x между [-5,5] возвратить шумную синусоидальную кривую, найдя y = sin (x) и добавив случайные значения к y. Просмотр шумной синусоидальной кривой с помощью scatter для построения графика точек (x1, y1), (x2, y2) , ⋯.

x = linspace(-5,5);
y = sin(x) + (-1).^randi(10, 1, 100).*rand(1, 100)./2;
scatter(x, y)

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

Отображение базовой структуры в точках путем наложения графика синусоидальной функции. Во-первых, использовать hold on для сохранения графика рассеяния. Затем используйте fplot для построения графика синусоидальной функции.

hold on
syms t
fplot(sin(t))
hold off

Figure contains an axes. The axes contains 2 objects of type scatter, functionline.

Объединение числовых и символьных графиков в 3-D

Объединение символьных и цифровых графиков в 3-D с помощью функций печати MATLAB и Symbolic Math Toolbox. Символический Математический Комплект инструментов обеспечивает эти 3D функции нанесения:

  • fplot3 создает 3-D параметризованные линейчатые графики.

  • fsurf создает 3-D графики поверхности.

  • fmesh создает 3-D сеточные графики.

Создание графика переходной кривой с помощью fplot3 для печати параметрической линии

x = (1-t) sin (100t) y = (1-t) cos (100t) z = 1-x2-y2.

syms t
x = (1-t)*sin(100*t);
y = (1-t)*cos(100*t);
z = sqrt(1 - x^2 - y^2);
fplot3(x, y, z, [0 1])
title('Symbolic 3-D Parametric Line')

Figure contains an axes. The axes with title Symbolic 3-D Parametric Line contains an object of type parameterizedfunctionline.

Наложите график сферы с радиусом 1 и центром в (0, 0, 0). Поиск точек на сфере численно с помощью sphere. Постройте график сферы с помощью mesh. Полученный график показывает символическую параметрическую линию, обернутую вокруг верхней полусферы.

hold on
[X,Y,Z] = sphere;
mesh(X, Y, Z)
colormap(gray)
title('Symbolic Parametric Plot and a Sphere')
hold off

Figure contains an axes. The axes with title Symbolic Parametric Plot and a Sphere contains 2 objects of type parameterizedfunctionline, surface.