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

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

MATLAB® предоставляет много методов для графического изображения числовых данных. Графические возможности MATLAB включают инструменты графического изображения, стандартные функции построения графика, графические манипуляции и инструменты исследования данных, а также инструменты для печати и экспорта графики в стандартные форматы. Symbolic Math 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<θ<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) при помощи MATLAB quiver функция.

quiver(X, Y, U, V)

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

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

Постройте график нескольких функций на одном графе путем последовательного добавления функций. После графического изображения первой функции добавьте последующие функции при помощи hold on команда. The 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 функций построения графика. 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. 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.