Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Anisimova_G_D__Evseeva_S_I__Myshlyavtseva_M_D__UP_Ispolzovanie_MATLAB_pri_izuchenii_matematiki.pdf
Скачиваний:
1
Добавлен:
10.06.2025
Размер:
10.07 Mб
Скачать

Пример 4.12. Построить графики функций y = 2sin(3x) + 1, y = 0.2x, хϵ[0; 10] в одном графическом окне, но в разных подокнах.

Решение. Введем команды:

>>x=[0:0.1:10];

% задаем диапазон и шаг изменения аргумента х

>>y1=2*sin(3*x)+1;

% задаем функцию y1=2sin(3x)+1

>>y2=0.2*x;

% задаем функцию y2=0.2x

>>subplot(1,2,1), plot(x,y1);

% график y1(х) появится в 1 подокне

>>subplot(1,2,2), plot(x,y2);

% график y2(х) появится во 2 подокне

 

 

Графики появятся в окне «Figure 1» (рис. 4.12).

Рис. 4.12. Графики функций y = 2sin(3x) + 1 и y = 0.2x, хϵ[0; 10],

построенные в разных подокнах одного графического окна

4.4. ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ И КРИВЫХ В ПРОСТРАНСТВЕ

Построение поверхностей, заданных аналитически

Для построения графика функции z = f(x, y), заданной аналитически, в MATLAB используется встроенная функция ezsurf со следующим синтаксисом:

ezsurf('f', [xmin, xmax, ymin, ymax])

Первый (обязательный) аргумент f – символьное выражение или текстовая строка с описанием функции; второй (необязательный) аргумент [xmin, xmax, ymin, ymax] – вектор, определяющий пределы изменения х и у. Если пределы не указаны, то считается, что [−2 , 2 ].

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

88

Пример 4.13. Построить график функции = √2 2. Решение. а) Введем команду:

>>ezsurf('sqrt(x^2 - y^2)')

играфик функции = √2 2 появится в окне «Figure 1» (рис. 4.13, а). Функцию можно задать в виде символьного выражения:

>>syms x y

>>ezsurf(sqrt(x^2 - y^2))

б) Введем команду с указанием пределов изменения х и у:

>>ezsurf ('sqrt(x^2 - y^2)', [-40,40,-15,15])

играфик функции = √2 2 появится в окне «Figure 1» (рис. 4.13, б).

a

б

Рис. 4.13. График функции = √2 2, построенный с использованием команд:

а – ezsurf('f'); б – ezurf('f', [xmin, xmax, ymin, ymax])

Для построения сетчатой поверхности z = z(x, y), заданной параметрически, в MATLAB используется встроенная функция ezmesh со следующим синтаксисом:

ezmesh(x,y,z,[umin,umax,vmin,vmax])

Аргументы x, y, z (обязательные) – символьные выражения или текстовые строки вида x = x(u, v), y = y(u,v) и z = z(u, v), где u, v – параметры; четвертый (необязательный) аргумент [umin, umax, vmin, vmax] – вектор, определяющий пределы изменения u и v. Если пределы не указаны, то считается, что , [−2 , 2 ].

Пример 4.14. Построить поверхность, заданную параметрически, используя команду ezmesh:

x = u2 cosv, y = 2u sinv, z = u + v.

Решение. Введем команду:

>>ezmesh('u^2 * cos(v)','2*u*sin(v)','u+v',[-5 5 0 2*pi])

ив окне «Figure 1» появится поверхность (рис. 4.14).

89

Для построения сетчатой поверхности z = z(x, y) с закраской ячеек в MATLAB используется встроенная функция ezsurf.

Пример 4.15. Построить поверхность, заданную параметрически, используя команду ezsurf:

x = u2cosv, y = 2usinv, z = u + v.

Решение. Введем команду:

>>ezsurf('u^2 * cos(v)','2*u*sin(v)','u+v',[-5 5 0 2*pi])

ив окне «Figure 1» появится поверхность (рис. 4.15).

Рис. 4.14. Поверхность x = u2 cosv,

Рис. 4.15. Поверхность x = u2 cosv,

y = 2u sinv, z = u + v, построенная

y = 2u sinv, z = u + v, построенная

с помощью команды ezmesh

с помощью команды ezsurf

Построение поверхностей, заданных таблично

В MATLAB для построения графика функции z = f(x, y) в декартовой системе координат используется встроенная функция plot3 со следующим синтаксисом:

plot3( x, y, z)

Здесь x – матрица первых координат сетки точек; y – матрица вторых координат; z – матрица значений функции двух переменных.

Перед использованием функции plot3 необходимо сформировать матрицы значений координатной сетки x и y. Для формирования матрицы значений координатной сетки x, y из векторов x1, y1 в MATLAB используется встроенная функция meshgrid:

[x, y]=meshgrid(x1, y1)

90

Пример 4.16. Построить график функции:

а) z x3 y3 на интервалах [-10;10] по осям OX и OY с шагом 0.5;

б) z e x2 y2 на интервалах [-1;1] и [-2;2] по осям OX и OY с шагом 0.1 и 0.2 соответственно.

Решение. Введем команды:

а)

 

б)

>>[x,y]=meshgrid([-10:0.5:10]);

 

>>[x,y]=meshgrid([-1:0.1:1],[-2:0.2:2]);

>>z=x.^3-y.^3;

 

>>z=exp(-x.^2-y.^2);

>>plot3(x,y,z);

 

>>plot3(x,y,z);

>>grid on

 

 

Графики функций z x3 y3 ,

z e x2 y2 появятся в окне «Figure 1»

(рис. 4.16, а, б).

 

 

а

б

 

Рис. 4.16. Графики функций: а z x3 y3 ; б

z e x2 y2

Построение кривых в пространстве

Функция plot3 используется и для построения кривых в пространстве.

 

Команда MATLAB

 

Описание

 

 

>> plot3(x,y,t)

 

Строит кривую x=x(t), y=y(t) в пространстве.

 

 

 

 

 

 

Пример 4.17. Построить график винтовой линии x sin 4t, y cos4t , t 0; 5π . Решение. Введем команды:

>>t=[0:pi/60:5*pi];

>>x=sin(4*t);

>>y=cos(4*t);

>>plot3(x,y,t)

91

График винтовой линии x sin 4t, y cos4t , t 0; 5π появится в окне

«Figure 1» (рис. 4.17).

Рис. 4.17. График винтовой линии x sin 4t, y cos4t , t 0; 5π

Сетчатые 3d-графики с окраской

Для построения сетчатой поверхности z = z(x, y), цвет которой меняется в зависимости от значения z, в MATLAB используется встроенная функция

mesh(z)

Пример 4.18. Построить график функции z = x3 – y3, используя команду mesh.

Решение. Введем команды:

>>[x,y]=meshgrid([-10:0.5:10]); >>z=x.^3-y.^3;

>>mesh(z)

График функции z=x3-y3, построенный с помощью команды mesh, появит-

ся в окне «Figure 1» (рис. 4.18).

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

surf(x, y, z)

Пример 4.19. Построить график функции z = x3 – y3, используя команду surf. Решение. Введем команды:

>>[x,y]=meshgrid([-10:0.5:10]); >>z=x.^3-y.^3;

>>surf(x,y,z)

92

График функции z = x3 – y3 , построенный с помощью команды surf , появится в окне «Figure 1» (рис. 4.19).

Рис. 4.18. График функции z = x3– y3, построенный с помощью команды mesh

Рис. 4.19. График функции z = x3 – y3, построенный с помощью команды surf

Контурные графики

Контурные графики используются для графического представления функций двух переменных вида z(x, y) = const и являются альтернативой созданию трехмерных поверхностей. Таким образом, контурный график представляет собой совокупность спроецированных на плоскость (х, у) линий пересечения поверхности z(х, у) плоскостями.

Для построения контурных графиков в MATLAB используется встроенная функция contour со следующим синтаксисом:

contour (z), contour(z, 's')

contour(x, y, z), contour(x, y, z, 's')

Здесь z – матрица с автоматическим заданием диапазонов изменения х и у (в первом случае) и с указанием спецификаций для x и y (во втором случае); s – строковая константа, позволяющая задавать стиль построения графика.

Пример 4.20. Построить контурный график функции z = x3 – y3. Решение. Введем команды:

>>[x,y]=meshgrid([-10:0.5:10]); >>z=x.^3-y.^3; >>contour(x,y,z)

График функции z = x3 – y3 , построенный с помощью команды contour, появится в окне «Figure 1» (рис. 4.20).

93

Рис. 4.20. График функции z = x3 – y3, построенный с помощью команды contour

Для изображения графика поверхности z = z(х, у) и ее проекции в MATLAB используются команды:

meshc(x,y,z)

surfc(x,y,z)

Пример 4.21. Построить график функции z = x3 – y3 и его проекцию на плоскость ХОY: а) используя команду meshc; б) используя команду surfc.

Решение. Введем команды:

а)

б)

>>[x,y]=meshgrid([-10:0.5:10]);

>>[x,y]=meshgrid([-10:0.5:10]);

>>z=x.^3-y.^3;

>>z=x.^3-y.^3;

>> meshc (x,y,z)

>> surfc (x,y,z)

 

 

График функции z = x3 – y3 и его проекции на плоскость ХОY, построенные с помощью команд meshc и surfc, появятся в окне «Figure 1» (рис. 4.21).

Функция contour3(x,y,z) позволяет строить трехмерные контурные графики.

а

б

Рис. 4.21. График функции z = x3 – y3 и его проекция на плоскость ХОY, построенные с помощью команды: а – mesh; б – surfc

94

Соседние файлы в предмете Математика