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

Содержание

Слайд 2

Команда plot3 :Построение линий и точек в трехмерном пространстве Синтаксис: plot3(x,у,z)

Команда plot3 :Построение линий и точек в трехмерном пространстве
Синтаксис:
plot3(x,у,z)
plot3(X,Y,Z)
plot3(x,у,z,s)
plot3(x1,y1.z1,s1,x2,y2,z2,s2,...)
Здесь х,

у, z - одномерные массивы одинакового размера
X, Y, Z - двумерные массивы одинакового размера, строит точки с координатами x(i,:), y(i,:), z(i,:)
s- строковая переменная для указания способа отображения линии, способа отображения точек, цвета линий и точек
Слайд 3

Построить график функции z, сформировать векторы x,y,z z = х *

Построить график функции z, сформировать векторы x,y,z
z = х

* ехр(-х2 - у2)
Код для ввода
x= -2 : 0.1 : 2;
y= -2 : 0.1 : 2;
z=x.*exp(-x.^2-y.^2);
plot3(x, y, z)

ЗАДАНИЕ № 1

Слайд 4

Команда meshgrid: Формирование двумерных массивов X и Y Синтаксис: [X,Y] =

Команда meshgrid: Формирование двумерных массивов X и Y
Синтаксис:
[X,Y] = meshgrid(x,у)
[X,Y]

= meshgrid(x)
Здесь X, Y - двумерные массивы, которые определяются одномерными массивами х и у. Строки массива Х являются копиями вектора х, а столбцы - копиями вектора у.
Слайд 5

Определить двумерные массивы и вычислить функцию заданную на квадрате -2≤х≤2, -2≤у≤2.

Определить двумерные массивы и вычислить функцию
заданную на квадрате -2≤х≤2, -2≤у≤2.


Код для ввода
[X, Y] = meshgrid(-2:0.2:2);
Z=X.*exp(-X.^2-Y.^ 2);
plot3(X, Y, Z)

ЗАДАНИЕ № 2

Слайд 6

Команды MESH,MESHC,MESHZ:Трехмерная сетчатая поверхность Синтаксис: mesh(X,Y,Z,С) meshc(X,Y,Z,С) meshz(X,Y,Z,С) mesh(x,у,Z,С ) meshc(x,у,Z,С

Команды MESH,MESHC,MESHZ:Трехмерная сетчатая поверхность
Синтаксис:
mesh(X,Y,Z,С) meshc(X,Y,Z,С) meshz(X,Y,Z,С)
mesh(x,у,Z,С ) meshc(x,у,Z,С )

meshz(x,у,Z,С )
mesh(Z,С) meshc(Z, С) meshz(Z, С)
mesh(X, Y, Z) meshc(X, Y, Z) meshz(X, Y, Z)
mesh(x, y, Z) meshc (х, y, Z) meshz(x, y, Z)
mesh(Z) meshc(Z) meshz(Z)
Здесь
Z - массив, определенный на множестве значений массивов Х и Y. Цвета узлов поверхности задаются массивом С.
Слайд 7

Построить трехмерную поверхность функции z = х * ехр(-х2 -у2) с

Построить трехмерную поверхность функции z = х * ехр(-х2 -у2) с

проекциями линии постоянного уровня.
Код для ввода
[X, Y] =meshgrid([ -2: 0.1 : 2 ]);
Z = X .*exp(- X .^2 - Y .^ 2);
meshc(X, Y, Z)

ЗАДАНИЕ № 3

Слайд 8

Построить функцию по одномерным векторам x и y Код для ввода

Построить функцию по одномерным векторам x и y
Код для ввода
for i=

1:41;
x(i)=(i-21)*0.1;
for j= 1:41;
y(j)=(j-21)*0.1;
z(i,j)=x(i)*exp(-x(i)^2-y(j)^2);
end;
end;
meshc(x, y, z)

ЗАДАНИЕ № 4

Слайд 9

Команда SURF,SURFC:Затененная сетчатая поверхность Синтаксис: surf(X,Y,Z,С) surfc(X,Y,Z,C) surf(x,y,Z,С ) surfc(x,y,Z,С) surf(Z,C)

Команда SURF,SURFC:Затененная сетчатая поверхность
Синтаксис:
surf(X,Y,Z,С) surfc(X,Y,Z,C)
surf(x,y,Z,С ) surfc(x,y,Z,С)
surf(Z,C) surfc(Z,C)
surf(X,Y,Z) surfc(X,Y,Z)
surf(x,y,Z) surfc (x,y,Z)


surf(Z) surfc(Z)
Группа команд surfc(...) в дополнение к трехмерным затененным поверхностям строит проекцию линий постоянного уровня.
Здесь
Z- массив, определенный на множестве значений массивов Х и Y. Цвет ячейки определяется массивом С.
Слайд 10

Построить трехмерную затененную поверхность функции z = х * ехр(-х2 -

Построить трехмерную затененную поверхность функции z = х * ехр(-х2 -

у2) со шкалой затененности.
Код для ввода
[X,Y]=meshgrid([-2:0.1:2]);
Z=X.*exp(-X.^2-Y.^2);
surf(X, Y, Z) ;
colormap(jet)
% colormap(gray)
shading interp
colorbar

ЗАДАНИЕ № 5

Слайд 11

Команда SURFL: Затененная поверхность с подсветкой Синтаксис: surfl(X,Y,Z,s) surfl(Z,s) surfl(X,Y,Z,s,k) surfl(Z,s,k)

Команда SURFL: Затененная поверхность с подсветкой
Синтаксис:
surfl(X,Y,Z,s)
surfl(Z,s)
surfl(X,Y,Z,s,k)
surfl(Z,s,k)
surfl(X,Y,Z)
surfl(Z)
Здесь
Z- массив, определенный на

множестве значений массивов Х и Y.
s = [Sx, Sy, Sz] – вектор для задания направления на источник света
Слайд 12

Построить изображение функции peaks, используя подсветку. Код для ввода [X, Y]

Построить изображение функции peaks, используя подсветку.
Код для ввода
[X, Y] = meshgrid(-3:1/8:3);

Z = peaks(X,Y);
az = -37.5 % ° азимут
elev =30 % ° возвышение
s = [az, elev];
surfl(X,Y,Z,s)
shading interp
colormap(hot)

ЗАДАНИЕ № 6

Слайд 13

Представление функциональных зависимостей по трем аргументам - функция slice: сечения функции

Представление функциональных зависимостей по трем аргументам - функция slice: сечения функции

от трех переменных
Синтаксис
slice(x,у,z,V,xi,yi,zi,n)
slice(X,Y,Z,V,xi,yi,zi,n)
slice(V,xi,yi.zi,n)
h = slice(...)
Здесь
V(x,у,z) - функция от трех переменных вдоль осей х,у,z; позиции сечений определяются векторами xi, yi, zi.
X,Y,Z -двумерные массивы, которые вычисляются с помощью функции meshgrid и используются вместо одномерных массивов
Слайд 14

Построить сечения функции V = х * ехр(-х2 - у2 -

Построить сечения функции V = х * ехр(-х2 - у2 -

z2) в трехмерной области -2≤х≤2, -2≤у≤2, -2≤z≤2.
Код для ввода
х = -2 : .2 : 2; у = -2 : .25 : 2; z = -2 : .16 : 2;
[X, Y, Z] = meshgrid(x, у, z);
V = X .* exp(-X .^2 - Y .^2 - Z .^2); % Размер V равен 17 х 21 х 26
slice(x, у, z, v,[2], [2], [ -0.75 0.5], length(x)), grid

ЗАДАНИЕ № 7

Слайд 15

Построение линий уровня и полей градиента функция CONTOUR - Изображение линий

Построение линий уровня и полей градиента

функция CONTOUR - Изображение линий

уровня для трехмерной поверхности
Синтаксис:
contour(Z) contour(x,у,Z) contour(Z,n) contour(x,у,Z,n)
contour(Z,v) contour(x,y,Z,v) contour(..., 'тип_линии')
С = contour(...) [C, h] =contour(...)
Здесь
Z - массив данных
х и у – векторы
n – число линий уровня
Слайд 16

Построить линии уровня для поверхности z=x·exp^(-x^2-y^2) в области -2≤x≤2, -2≤y≤2 по

Построить линии уровня для поверхности z=x·exp^(-x^2-y^2) в области -2≤x≤2, -2≤y≤2 по

команде contour

Отчет: график линий уровня для поверхности z=x·exp^(-x^2-y^2) по команде contour

Код для ввода
x= -2 : 0.1 : 2;
y= -2 : 0.1 : 2;
[X, Y] = meshgrid(x,y)
Z=X.*exp(-X.^2-Y.^2);
contour(X, Y, Z)

ЗАДАНИЕ № 8

Слайд 17

Функция QUIVER: Поле градиентов функции Синтаксис: quiver(X,Y,DX,DY) quiver(x,y,DX,DY) quiver(DX,DY) quiver(x,y,dx,dy,s) quiver(dx,dy,s)

Функция QUIVER: Поле градиентов функции
Синтаксис:
quiver(X,Y,DX,DY) quiver(x,y,DX,DY) quiver(DX,DY)
quiver(x,y,dx,dy,s) quiver(dx,dy,s) quiver(... 'тип_линии')
Здесь
X и

Y – массивы (берутся парами), пары элементов DX и DY используются для указания направления и размера стрелки.
Слайд 18

Построить поле направлений для функции z=x·exp^(-x^2-y^2) в области -2≤x≤2, -2≤y≤2 по

Построить поле направлений для функции z=x·exp^(-x^2-y^2) в области -2≤x≤2, -2≤y≤2 по

команде contour
Код для ввода
[х, у] = meshgrid(-2 : .2 : 2);
z = x.*exp(-x.^2 - у. ^2);
[dx, dy] = gradient(z, .2, .2);
contour(x, у, z), hold on
quiver(x, y, dx, dy)

Отчет: график поля направлений для поверхности z=x·exp^(-x^2-y^2) : функция quiver

ЗАДАНИЕ № 9

Слайд 19

Проведение исследований на неравномерной сетке Построение поверхности происходит с помощью следующих

Проведение исследований на неравномерной сетке

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

1.Триангуляция Делоне
Задача 2. Собственно визуализация функции на нерегулярной сетке.
Слайд 20

Задача 1.Триангуляция Делоне функция delaunay - построение триангуляции Делоне множества точек

Задача 1.Триангуляция Делоне

функция delaunay - построение триангуляции Делоне множества точек на

плоскости
функция triplot - визуализации триангуляции, входные аргументами - матрица, возвращаемая функцией delaunay, и два вектора с координатами точек.

Построить триангуляцию Делоне функции V=x·exp(-x^2-y^2-z^2 ) для равномерной сетки
Код для ввода
[x,y] = meshgrid(-2:0.2:2);
z = x.*exp(-x.^2 -y.^2);
tri = delaunay(x,y);
triplot(TRI,x,y,'red')

Отчет: график триангуляция Делоне функции V=x·exp(-x^2-y^2-z^2 ) для равномерной сетки

ЗАДАНИЕ № 10

Слайд 21

Сформировать массивы точек (x,y) с помощью датчика случайных чисел и построить

Сформировать массивы точек (x,y) с помощью датчика случайных чисел и построить

триангуляцию Делоне для той же функции V=x·exp(-x^2-y^2-z^2 )
Код для ввода
p=-2+4*rand(21,21)
q=-2+4*rand(21,21)
zpq = p.*exp(-p.^2 -q.^2);
tripq = delaunay(p,q);
triplot(tripq,p,q,'red')

Отчет: график триангуляция Делоне функции V=x·exp(-x^2-y^2-z^2 ) для неравномерной сетки

ЗАДАНИЕ № 11

Слайд 22

Построить графики V=x·exp(-x^2-y^2-z^2 ) для регулярной сетки использование функции trisurf и

Построить графики V=x·exp(-x^2-y^2-z^2 ) для регулярной сетки использование функции trisurf и

trimesh
Код для ввода
figure
trisurf(tri,x,y,z)
figure
trimesh(tri,x,y,z)

Задача 2. Собственно визуализация функции на нерегулярной сетке.

После вычисления функции вычисляется в точках нерегулярной области, и построения триангуляции Делоне множества точек на плоскости применяется функция trimesh, либо функция trisurf для визуализации

Отчет: графики функции V=x·exp(-x^2-y^2-z^2 ) для равномерной сетки: функции trisurf и trimesh

ЗАДАНИЕ № 11