41902

Построение графиков в среде программирования MATLAB

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: научиться строить графики различных типов в программной среде MATLAB. Изучить основные операторы построения графиков в среде программирования MATLAB; освоить принципы построения различных типов графиков в среде программирования MATLAB.

Русский

2013-10-26

354.21 KB

29 чел.

Министерство  образования и науки РФ

ФГАОУ ВПО «Белгородский государственный национальный
исследовательский университет» (НИУ «БелГУ»)

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕЛЕКОММУНИКАЦИЙ

КАФЕДРА ИНФОРМАЦИОННО-ТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМ И ТЕХНОЛОГИЙ

Отчет по лабораторной работе №1

По дисциплине   информатика

  Тема работы   «Построение графиков в среде программирования MATLAB»

студента  группы 141206

Петрива Андрея Владимировича

Проверил:

к.т.н., доцент Прохоренко Екатерина Ивановна

__________________________________________________________

(оценка)

«____»__________20____г

Белгород, 2012

Цель работы: научиться строить графики различных типов в программной среде MATLAB.

Задачи:

1) изучить основные операторы построения графиков в среде программирования MATLAB;

2) освоить принципы построения различных типов графиков в среде программирования MATLAB.

Индивидуальные данные для выполнения работы

(вариант №17)

Задание 1. Построить график функции.

Решение.

Переменные, используемые для построения алгоритма:

k1- начальное значение х

k2- конечное значение х

n- количество значений

e- шаг (расстояние между двумя значениями x)

Блок-схема для 1 задания представлена на рисунке 1.

Рисунок 1.

Листинг 1 представлен собой реализацию алгоритма в системе MatLab.

Листинг 1.

clc

clear

k1= input('введите число ');

k2= input('введите число ');

n= input('введите число ');

e=(k2-k1)/n;

x(1)=k1;

for i=2:n

   x(i)=x(i-1)+e

end

for i=1:n

   y(i)=3-1/(x(i)^2-2*x(i))

end

figure(1) , plot(x,y)

Здесь использованы стандартные функции

input- ввод данных

figure(1), plot(x,y) - в графическом окне 1 строится гладкий график функции y(x), размерности векторов должны совпадать

Проверка работоспособности алгоритма:

При k1=0; k2=1; n=100 графиком является ветвь гиперболы,  представленной на рисунке 2.

Рисунок 2.

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

Задание 2. На одном графике построить 3 кривые: соответствующую первому слагаемому (красная пунктирная линия), соответствующую второму слагаемому (зеленая линия типа точка-тире), соответствующую результату сложения (черная сплошная) (3 периода).

Решение.

Переменные, используемые для построения алгоритма:

k1- начальная значение х

k2- конечная значение х

n- количество значений

e- шаг (расстояние между двумя значениями x)

y1(i) - cos(8*x(i)+π/3)

y2(i) – sin3x

y3(i) – сумма y1(i), y2(i) и 5.()

Блок-схема для 2 задания представлена на рисунке 3.

Рисунок 3.

Листинг 2 представлен собой реализацию алгоритма в системе MatLab.

Листинг 2.

clc

clear

k1= input('введите число ');

k2= input('введите число ');

n= input('введите число ');

e=(k2-k1)/n;

x(1)=k1;

for i=2:n

   x(i)=x(i-1)+e

end

for i=1:n

   y1(i)=cos(8*x(i)+pi/3)

   y2(i)=sin(x(i))^3

   y3(i)=5+y1(i)+y2(i)

end

figure(1)

hold on

plot(x,y1,'--r')

plot(x,y2,'-.g')

plot(x,y3,'-k')

hold off

Здесь использованы стандартные функции:

input- ввод данных

figure(1); hold on ; hold offв графическом окне 1 строится 3 графика функций.

plot(x,y1,'--r') - в графическом окне 1 строится гладкий график функции y(x): пунктирная красная линия без маркера

plot(x,y2,'-.g') -  в графическом окне 1 строится гладкий график функции y(x): зеленая линия типа точка-тире

plot(x,y3,'-k') - в графическом окне 1 строится гладкий график функции y(x): сплошная черная линия без маркера

Проверка работоспособности алгоритма:

При k1=0; k2=2*pi; n=500 график изображен на рисунке 4.

Рисунок 4.

Вывод: данный алгоритм является работоспособным и позволяет в одном графическом окне размещать 3 графика, выделенных по-своему(пунктирная красная линия без маркера, зеленая линия типа точка-тире, сплошная черная линия без маркера).

Задание 3. Построить кривую y(x) по заданному представлению.

Эпициклоида x=(a+b)cost-acos((a+b)t/a), y=(a+b)sint-asin((a+b)t/a) , t=[0,2π) при a>0. b>0, b/aцелое число.

Тип линии:

желтая сплошная с маркером типа круг

Решение.

Эпициклоида - плоская кривая, образуемая фиксированной точкой окружности, катящейся по внешней стороне другой окружности без скольжения.

Переменные, используемые для построения алгоритма:

а-целое число, меньшее или равное b (радиус меньшей окружности)

b-целое число (радиус большей окружности)

t1-начальное значение

t2- конечное значение

Блок-схема для данного алгоритма представлена на рисунке 5.

Рисунок 5.

Листинг 2 представлен собой реализацию алгоритма в системе MatLab.

Листинг 2.

clc

clear

a= input('введите число ');

b= input('введите число ');

n= input('введите число ');

t1=0;

t2=2*pi;

e=(t2-t1)/n;

t(1)=t1;

for i=2:n

   t(i)=t(i-1)+e;

end

for i=1:n

x(i)=(a+b)*cos(t(i))-a*cos((a+b)*t(i)/a);

end

for i=1:n

y(i)=(a+b)*sin(t(i))-a*sin((a+b)*t(i)/a);

end

plot(x,y,'-oy')

Здесь использованы стандартные функции:

input- ввод данных

plot(x,y,'-oy') - в графическом окне 1 строится гладкий график функции y(x): сплошная желтая линия с маркером типа круг

Проверка работоспособности алгоритма:

При a=5; b=10; n=500 график представлен на рисунке 6 (кривая без разрыва).

Рисунок 6.

При изменении a и b, например при a=2; b=100 график видоизменяется, и имеет вид представленный на рисунке 7.

Рисунок 7.

При несоблюдении требований, при a=5; b=17; n=500 график имеет вид кривой с разрывом (рисунок 8).

Рисунок 8.

Вывод: данный алгоритм позволяет построить кривую y(x) по заданному представлению, график функции зависит, прежде всего, от значений a и b, которые должны удовлетворять условию b/a= целое число.

Замечания преподавателя

 _____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

             _____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________