Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы по инфе (1 сем) / лаба 4 (Элементарная графика)

.docx
Скачиваний:
2
Добавлен:
04.05.2020
Размер:
346.96 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ВТ

отчет

по лабораторной работе №4

по дисциплине «Информатика»

Тема: Элементарная графика

Студент гр. 9494

Лобазев Н.А.

Преподаватель

Гречухин М. Н.

Санкт-Петербург

2019

Цель: выполнения задания: освоение 2D- и 3D-графики, построение графиков и изображений разных типов.

Требования и рекомендации к выполнению задания:

  1. Индивидуальные задания включают работу со всеми приведенными ранее графическими функциями, формат команд и результат их выполнения (рисунок) должен быть предъявлен в отчете.

  2. Массивы данных для визуализации могут быть сформированы тремя способами: а) случайный образом (функция rand); б) перечислением значений; в) заполнением матриц с помощью операторов цикла (разд. 5). Количество значений в массивах выбирается из соображений наглядности.

  3. Настройка элементов оформления (виды линий, цвета, подписи и др.) должна быть произведена двумя способами: а) с помощью команд; б) с помощью редактора графиков.

  4. Примеры оформления операций и данных представлены ранее в разд. 4 в соответствующих подразделах.

Основные теоретические положения:

Графика в линейном масштабе:

  • plot(x, y) – построение графика функции yº=ºy(x); при двумерном х строятся графики хº=ºх(y); если оба массива двумерные, строятся зависимости для соответствующих столбцов;

  • plot(x, y, LineSpec) определяет (табл. 4.1, 4.2) стиль линий, форму маркера точек и цвет линий и маркера заданием строки LineSpec (до трех символов).

Построение графиков функций:

Команда ezplot('f(x)') строит график f (x), заданной символьным выражением (например, ezplot('x^2–2*x+1')), на интервале [–2 2] с выводом выражения в качестве заголовка графика. Команды ezplot('f(x)', limits, fig) и ezplot('f(x)', limits) строят график f (x) на указанном интервале в заданном окне.

Трехмерная графика:

Команды mesh(x, y, z, c), mesh(z, c), mesh(z) определяют задание сетчатой поверхности (массив cопределяет цвета узлов поверхности; если x, уне указаны, то x = 1: n, y = 1: m, где [m, n] = size(z).

Команда plot3(x, y, z)в тех же вариациях, что и plot, предполагает задание одномерных и двумерных массивов – строятся точки с координатами x(i,:), y(i,:), z(i,:) для каждого столбца и соединяются прямыми линиями.

Команды surf(x, y, z, c), surf(z, c), surf(z) определяют задание сплошной поверхности, отличаясь от mesh системой окраски; команда surfс(...) задает проекции линий уровня.

Задания по работе:

1)

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

y=log(x)-sqrt(4-2*x)

plot(x,y)

grid on

y =

Columns 1 through 6

-Inf -4.2519 -3.5068 -3.0479 -2.7051 -2.4252

Columns 7 through 12

-2.1841 -1.9691 -1.7723 -1.5886 -1.4142 -1.2463

Columns 13 through 18

-1.0826 -0.9209 -0.7590 -0.5945 -0.4244 -0.2440

Columns 19 through 21

-0.0447 0.1946 0.6931

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

y=log(x)-sqrt(4-2*x)

plot(x,y,'-.r*')

grid on

y =

Columns 1 through 6

-Inf -4.2519 -3.5068 -3.0479 -2.7051 -2.4252

Columns 7 through 12

-2.1841 -1.9691 -1.7723 -1.5886 -1.4142 -1.2463

Columns 13 through 18

-1.0826 -0.9209 -0.7590 -0.5945 -0.4244 -0.2440

Columns 19 through 21

-0.0447 0.1946 0.6931

>>ezplot('exp(x) + x.^2-2', [0,1])

grid on

2)

>> x = [-3 : 0.4 : 2]

y=[-3: 0.4 : 2];

z1=sin(x+1)-y-1

z2=2*x-cos(y)-2

plot3(x,y,z1)

hold on

plot3(x,y,z2)

grid on

z1 =

Columns 1 through 6

1.0907 0.6004 0.2680 0.0826 0.0106 0

Columns 7 through 12

-0.0106 -0.0826 -0.2680 -0.6004 -1.0907 -1.7245

Column 13

-2.4650

z2 =

Columns 1 through 6

-7.0100 -6.3431 -5.8115 -5.3728 -4.9700 -4.5403

Columns 7 through 12

-4.0253 -3.3801 -2.5801 -1.6253 -0.5403 0.6300

Column 13

1.8272

>> x=[-3:0.4:2];

y=[-3:0.4:2];

[x,y] = meshgrid(x,y);

z1=sin(x+1)-y-1;

z2=2*x-cos(y)-2 ;

mesh(x,y,z1)

hold on

mesh(x,y,z2)

grid on

>> x=[-3:0.1:3];

y=[-3:0.1:3];

[x,y] = meshgrid(x,y);

z1=sin(x+1)-y-1;

z2=2*x-cos(y)-2;

surf(x,y,z1)

hold on

surf(x,y,z2)

grid on

2.2)

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

y=log(x)-sqrt(4-2*x);

bar(x,y)

grid on

y =

Columns 1 through 6

-Inf -4.2519 -3.5068 -3.0479 -2.7051 -2.4252

Columns 7 through 12

-2.1841 -1.9691 -1.7723 -1.5886 -1.4142 -1.2463

Columns 13 through 18

-1.0826 -0.9209 -0.7590 -0.5945 -0.4244 -0.2440

Columns 19 through 21

-0.0447 0.1946 0.6931

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

y=log(x)-sqrt(4-2*x)

pie(x,y)

grid on

y =

Columns 1 through 6

-Inf -4.2519 -3.5068 -3.0479 -2.7051 -2.4252

Columns 7 through 12

-2.1841 -1.9691 -1.7723 -1.5886 -1.4142 -1.2463

Columns 13 through 18

-1.0826 -0.9209 -0.7590 -0.5945 -0.4244 -0.2440

Columns 19 through 21

-0.0447 0.1946 0.6931

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

y=log(x)-sqrt(4-2*x)

stem(x,y)

grid on

y =

Columns 1 through 6

-Inf -4.2519 -3.5068 -3.0479 -2.7051 -2.4252

Columns 7 through 12

-2.1841 -1.9691 -1.7723 -1.5886 -1.4142 -1.2463

Columns 13 through 18

-1.0826 -0.9209 -0.7590 -0.5945 -0.4244 -0.2440

Columns 19 through 21

-0.0447 0.1946 0.6931

3)

Функция

>>x=[0:0.1:1]; y1=abs(2*cos(pi*x)-1) y2=b*sin(x) y=(y1)+(y2); plot(x,y) grid on

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

y= (abs(2*cos(pi*x)-1))+( b*sin(x))

plot(x,y,'-g^')

grid on

y =

Columns 1 through 6

1.0000 1.7008 2.2074 2.5397 3.4973 4.8354

Columns 7 through 11

6.1352 7.3293 8.3569 9.1687 9.7318

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

y= (abs(2*cos(pi*x)-1))+( b*sin(x))

bar(x,y)

grid on

y =

Columns 1 through 8

1.1195 1.9863 3.1900 4.1295 4.4142 3.9850 3.0849 2.1045

Columns 9 through 16

1.3826 1.0524 1.0000 0.9476 0.6174 -0.1045 -0.6849 -0.9850

Columns 17 through 21

-0.8142 0.0705 1.6100 3.4137 4.8805

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

y= (abs(2*cos(pi*x)-1))+( b*sin(x))

pie(x,y)

grid on

y =

Columns 1 through 8

1.1195 1.9863 3.1900 4.1295 4.4142 3.9850 3.0849 2.1045

Columns 9 through 16

1.3826 1.0524 1.0000 0.9476 0.6174 -0.1045 -0.6849 -0.9850

Columns 17 through 21

-0.8142 0.0705 1.6100 3.4137 4.8805

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

y= (abs(2*cos(pi*x)-1))+( b*sin(x))

stem(x,y)

grid on

y =

Columns 1 through 8

1.1195 1.9863 3.1900 4.1295 4.4142 3.9850 3.0849 2.1045

Columns 9 through 16

1.3826 1.0524 1.0000 0.9476 0.6174 -0.1045 -0.6849 -0.9850

Columns 17 through 21

-0.8142 0.0705 1.6100 3.4137 4.8805

ВЫВОД:

В данной лабораторной работе я научился основан 2D и 3Dграфики в программе Matlab. Работа была очень интересной, ведь это был первой опыт в построении таких графиков на компьютере.