Построение графиков в octave/matlab



Дата28.11.2023
өлшемі2.36 Mb.
#484629
түріПрактическая работа
АИПОБД Сержан практика №3,2


Министерство образования и науки Республики Казахстан
НАО «Карагандинский индустриальный университет»
Кафедра «Технологии искусственного интеллекта»


Практическая работа №3,2
Тема: Построение графиков в OCTAVE/MATLAB

Выполнил:


студент группы ПИ-20 к1
Жумаган С.Б.
Проверил: профессор
Тытюк В.К.

Темиртау, 2023 г


Практический работа 3,2
Цель работы: Получить необходимые навыки для визуализации экспериментальных исследований и математического моделирования, манипулирования элементами графиков.
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
3.1 Общие сведения о подсистеме построения графиков в MATLAB.
MATLAB обладает исключительно мощной системой для построения различных двухмерных и трехмерных графиков, а также их настройки, редактирования и форматирования. Типы и подтипы графиков MATLAB очень многообразны. Список функций двумерной графики можно получить командой help graph2d, трехмерной- help graph3d. Графики выводятся в отдельных графических окнах с помощью команды вида figure(n), где n – номер графического окна. На одном графике можно выстроить несколько кривых, отличающихся цветом и типами линий и точек. Графики могут быть скопированы и вставлены в другие приложения: Word, Excel, Power Point и т.д. Для этого используется команда Edit/Copy Figure окна графики.

Выполненная работа:





disp('Личная информация студента');


Student = 'Жумаган С.Б., группа Пи-20к-1'; %%===================
disp('BIG Data Практическая работа №3. Часть 2.')
disp(Student)
disp([date()])

disp('Исходные данные варианта');


disp('--- Исходные данные ---');
N = 6; %%===================
disp(['Номер варианта по журналу = ', num2str(N)])
disp('-----------------------')

disp('--- Исходные данные варианта ---');

disp('Задание 3');
disp('Трехмерные графики в декартовой системе координат');
x1 = 1; x2 = 6; hx = 0.1; %%===================
y1 = -1; y2 =14; hy = 0.3; %%===================
disp('Область построения трехмерной поверхности');
disp([num2str(x1) ' < x < ' num2str(x2) ' с шагом ' num2str(hx)]);
disp([num2str(y1) ' < x < ' num2str(y2) ' с шагом ' num2str(hy)]);

[X,Y]=meshgrid(x1:hx:x2, y1:hy:y2);


Z = (Y - 7)./(5.^ Y); %%===================

figure(2); grid on;

%Map Description
%viridis default
%jet colormap traversing blue, cyan, green, yellow, red.
%cubehelix colormap traversing black, blue, green, red, white with increasing intensity.
%hsv cyclic colormap traversing Hue, Saturation, Value space.
%rainbow colormap traversing red, yellow, blue, green, violet.
%hot colormap traversing black, red, orange, yellow, white.
%cool colormap traversing cyan, purple, magenta.
%spring colormap traversing magenta to yellow.
%summer colormap traversing green to yellow.
%autumn colormap traversing red, orange, yellow.
%winter colormap traversing blue to green.
%gray colormap traversing black to white in shades of gray.
%bone colormap traversing black, gray-blue, white.
%copper colormap traversing black to light copper.
%pink colormap traversing black, gray-pink, white.
%ocean colormap traversing black, dark-blue, white.
%colorcube equally spaced colors in RGB color space.
%flag cyclic 4-color map of red, white, blue, black.
%lines cyclic colormap with colors from axes "ColorOrder" property.
%prism cyclic 6-color map of red, orange, yellow, green, blue, violet.
%white all white colormap (no colors).

colormap ('jet');

% https://en.wikipedia.org/wiki/Test_functions_for_optimization
% Поверхность Химмельблау
%Z = (X.^2 + Y - 11).^2 + (X+Y.^2-7).^2;
% Three-hump camel function
%Z = 2*X.^2 - 1.05*X.^4 + X.^6/6 +X.*Y + Y.^2

surf(X,Y,Z);

shading interp;
colorbar;
xlabel('X \rightarrow');
ylabel('Y \leftarrow');
zlabel('Z \rightarrow');
title('(X.*Y)./(X.^2 + Y.^2)')

disp('Задание 4');


disp('Коэффициенты функции');
a = 10; %%===================
b = 3; %%===================
c = 14; %%===================
disp(['Коэффициент a = ' num2str(a)]);
disp(['Коэффициент b = ' num2str(b)]);
disp(['Коэффициент c = ' num2str(c)]);

disp('Область построения графика');


x1 = -10; x2 = 10; hx = 0.3;
y1 = -10; y2 = 10; hy = 0.2;
disp([num2str(x1) ' < x < ' num2str(x2) ' с шагом ' num2str(hx)]);
disp([num2str(y1) ' < x < ' num2str(y2) ' с шагом ' num2str(hy)]);

[X4,Y4]=meshgrid(x1:hx:x2, y1:hy:y2);


Z4 = a*X4.^2 + b*Y4.^2 + c*0.1*Y4.*X4;

figure(4); grid on; hold on;


colormap ('jet');
surf(X4,Y4,Z4); hold on; grid on;
shading interp;
colorbar;
xlabel('X');
ylabel('Y');
zlabel ('Z');
title('Z = a*X4^2 + b*Y4^2 + 0.1*c*Y4*X4')

disp('Строим изолинии');


figure(5); grid on; hold on;
[C,h] = contour3(X4,Y4,Z4);
clabel(C,h);

Ответы на контрольные вопросы:


1.Какая команда создает новое окно для построения графиков?
Для построения графика функции в декартовой системе координат используется команда plot. Для построения двух векторов данных x и y в виде графической зависимости y = f(x) нужно использовать команду plot(x,y). Вывод графических данных в новом окне производится командой figure. Команда figure(n) определяет номер окна с графическими данными. С помощью команды grid выполняется нанесение сетки и графика. Для вывода дополнительных к уже существующим графическим данным в текущем окне выполняется команда hold on. Подпись координатных осей осуществляется соответствующими командами xlabel('имя оси') и ylabel('имя оси'). Название графика можно присвоить с помощью команды title('имя графика'). Текстовая надпись в области построения графика выполняется путем команды text(x, y, текст надписи), где x и y – относительные координаты надписи в области графика. Построение графиков в системе Matlab допускается разными цветами, типами линий и маркерами точек. Для этого команда построения графика может задаваться в следующей расширенной форме: plot(x,y, ' '). Для того чтобы задать определенный цвет графика используются соответствующие буквы: c – голубой; m – розовый; y – желтый; r – красный; g – зеленый; b – синий; w – белый; k – черный. Типы линий задаются определенными символами: «- » – непрерывная линия; «--» – штриховая; «:» – пунктирная; «-.» – штрих-пунктирная; «none» – без линии. Знаки, которые можно использовать для задания маркеров точек на графике: «+»; "o"; "x"; "*". 2. Что делает команда grid on ?
Grid on отображает главные линии сетки для текущей системы координат, возвращенной gca команда. Главные линии сетки расширяют от каждой отметки деления. grid off удаляет все линии сетки из текущей системы координат или графика. grid переключается видимость главных линий сетки.
3. Что делает команда hold on ?
Hold on сохраняет графики в текущей системе координат так, чтобы новые графики, добавленные к осям, не удаляли существующие графики.
4. С помощью какой команды строится круговая диаграмма?
Закрашенные секторы часто используются для построения круговых диаграмм. Для этого в MATLAB служит команда piе: pie(X) — строит круговую диаграмму по данным нормализованного вектора X/ SUM(X). SUM(X)—сумма элементов вектора. Если SUM(X)<=1.0, то значения в X непосредственно определяют площадь секторов; pie(X.EXPLODE) — строит круговую диаграмму, у которой отрыв секторов от центра задается вектором EXPLODE, который должен иметь тот же размер, что и вектор данных X.
5. С помощью какой команды строится столбчатая диаграмма?
Столбцовые диаграммы широко используются в литературе, посвященной финансам и экономике, а также в математической литературе. Ниже представлены команды для построения таких диаграмм. bar(x, Y) — строит столбцовый график элементов вектора Y (или группы столбцов для матрицы Y) со спецификацией положения столбцов, заданной значениями элементов вектора х, которые должны идти в монотонно возрастающем порядке; bar(Y) — строит график значений элементов матрицы Y так же, как указано выше, но фактически для построения графика используется вектор х=1:m; barU.Y,WIDTH) или BAR(Y,WIDTH) — команда аналогична ранее рассмотренным, но со спецификацией ширины столбцов (при WIDTH > 1 столбцы в одной и той же позиции перекрываются). По умолчанию задано WIDTH = 0.8. Возможно применение этих команд и в следующем виде: bаг(.... 'Спецификация') для задания спецификации графиков, например типа линий, цвета и т. д., по аналогии с командой plot. Спецификация 'stacked' задает рисование всех n столбцов в позиции m друг на друге.
6. Какие действия выполняет команда meshgrid ?
Функция [X, Y] = meshgrid(x, y) формирует массивы X и Y, которые определяют координаты узлов прямоугольника, задаваемого векторами x и y. Этот прямоугольник задает область определения функции от двух переменных, которую можно построить в виде 3D-поверхности. Функция [X, Y] = meshgrid(x) является сокращенной формой записи функции [X, Y] = meshgrid(x, x). Функция [X, Y, Z] = meshgrid(x, y, z) формирует массивы X, Y и Z, которые определяют координаты узлов параллелепипеда, задаваемого векторами x, y и z. Этот 7 параллелепипед задает область определения для вычисления функции от трех переменных и построения 3D-параметрических поверхностей.
7. Какой командой выводится заголовок диаграммы ?
В состав системы MATLAB входит мощная графическая подсистема, которая поддерживает как средства визуализации двумерной и трехмерной графики на экран терминала, так и средства презентационной графики. Следует выделить несколько уровней работы с графическими объектами. В первую очередь это команды и функции, ориентированные на конечного пользователя и предназначенные для построения графиков в прямоугольных и полярных координатах, гистограмм и столбцовых диаграмм, трехмерных поверхностей и линий уровня, анимации. Графические команды высокого уровня автоматически контролируют масштаб, выбор цветов, не требуя манипуляций со свойствами графических объектов..

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет