Создайте графики

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

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

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

  • fplot3 создать 3-D параметрические графики.

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

  • fsurf создать объемные поверхностные диаграммы.

  • fcontour создать контурные графики.

  • fmesh создать сетчатые графики.

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

syms x
fplot(sin(6*x))

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

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

Постройте символьное выражение 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) при помощи quiver MATLAB функция.

quiver(X, Y, U, V)

Figure contains an axes object. The axes object 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)ex
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 object. The axes object with title s i n ( 2 0 blank x ) blank e x p ( 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 objects. Axes object 1 with title a = 10 contains an object of type functionsurface. Axes object 2 with title a = 20 contains an object of type functionsurface. Axes object 3 with title a = 50 contains an object of type functionsurface. Axes object 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 object. The axes object contains an object of type scatter.

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

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

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

Постройте числовые и символьные графики в 3-D

Постройте символьные и числовые графики в 3-D при помощи функций построения графика Symbolic Math Toolbox и MATLAB. Symbolic Math Toolbox обеспечивает эти 3-D функции построения графика:

  • 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 object. The axes object 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 object. The axes object with title Symbolic Parametric Plot and a Sphere contains 2 objects of type parameterizedfunctionline, surface.