• Регистрация
FATIMAT
FATIMAT 0.00
н/д

МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ В СИСТЕМЕ MATLAB (Лабораторная работа)

01.10.2019

Предлагается лабораторная работа по применению MatLab при обработке экспериментальных данных.

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

МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ  В СИСТЕМЕ MATLAB

1. Цель  лабораторной работы

Научить обучающихся использовать интерактивный матрично-ориентированный пакет МАТLAB для обработки экспериментальных данных.

2. Порядок выполнения лабораторной работы

1.     Изучить  теоретическую  часть. 

2.     Выполнить  задания,  соответствующие номеру Вашего варианта, и продемонстрировать  их преподавателю.

3.     Оформить  отчет по лабораторной работе, который должен содержать:

·        титульный лист (приложение 1);

·        исходные данные варианта;

·        решение задачи;

·        результаты решения задачи.

1.Теоретическая часть

Система MATLAB в настоящее время является мощным и универсальным средством решения задач, возникающих в различных областях человеческой деятельности. Спектр проблем, решение которых может быть осуществлено при помощи MATLAB, охватывает: матричный анализ, обработку сигналов и изображений, задачи математической физики, оптимизационные задачи, обработку и визуализацию данных, нейронные сети, нечеткую логику и многие другие.

MATLAB имеет достаточно простой и эффективный встроенный язык программирования, позволяющий пользователю реализовывать собственные алгоритмы. Простота языка программирования компенсируется огромным множеством функций MATLAB. Такое сочетание позволяет достаточно быстро разрабатывать эффективные программы.

MATLAB является интерпретатором, т. е. каждая строка программы преобразуется в код и затем выполняется. Разумеется, это существенно увеличивает время работы алгоритмов, содержащих циклически повторяемые действия. Для повышения производительности вычислений в составе MATLAB имеется дополнительный модуль Matlab Compiler, который обеспечивает компиляцию программ, написанных на языке MATLAB. Объектно-ориентированный подход, заложенный в основу MATLAB, обеспечивает современную эффективную технологию программирования

1.1.         Окна системы MATLAB

MATLAB (MATrix LABoratory) – интерактивный матрично-ориентированный пакет, предназначенный для выполнения научных и инженерных расчетов.

По умолчанию после запуска пакета MATLAB на экране появляется комбинированное окно, включающее четыре наиболее важные панели: панель с кнопками;   рабочая область с командной строкой;   строка состояния. (рис. 1):

Символ >> означает приглашение командной строки к вводу команды.

Набор любой команды или выражения должен сопровождаться нажатием  клавиши <Enter> для того, чтобы система MATLAB выполнила введенную  команду или вычислила выражение. Встроенные математические функции MATLAB позволяют находить  значения различных выражений. Команды для вычисления выражений имеют вид, свойственный всем языкам программирования высокого уровня. Полный перечень встроенных математических функций можно найти в справочной системе MATLAB.

При работе с командной строкой следует помнить следующие особенности:  при наборе выражения без символа «;» в конце результат вычислений запишется в оперативную память в виде значения соответствующей переменной и будет выведен на экран, в противном случае результат вычислений запишется в оперативную память, но на экран  выводиться не будет;  при наборе выражения с левой и правой частями, разделенными знаком равенства, результат вычислений запишется в переменную левой части выражения. Если выражение не содержит левой части, то результат запишется в специальную переменную ans и будет храниться  в ней до момента записи в данную переменную результата вычисления следующего выражения.

Окна пакета MATLAB:

Ø   Command Window (Окно команд) – самая используемая панель. В ней набирают команды пользователя, подлежащие немедленному исполнению. Здесь же выдаются результаты выполненных команд.

Ø   Command History (История команд) хранит все команды, набираемые пользователем, однако в отличие от содержимого Command Window (Окно команд) сюда не попадают сообщения системы и результаты вычислений.

Ø   Workspace (Рабочее пространство) отображает текущий набор переменных, заведенных пользователем в командном окне.

Ø   Current Directory (Текущий каталог) является аналогом известной программы Проводник, но имеет для MATLAB свое особое предназначение. Дело в том, что, кроме работы с математическими выражениями из командного окна, пользователь также может работать с файлами.

Рис.1. Общий вид главного окна пакета MATLAB

1.2. Главное меню системы

Главное меню MATLAB содержит следующие шесть пунктов:

Ø File (Файл) – работа с файлами;

Ø Edit (Правка) – редактирование;

Ø View (Вид) – управление окнами;

Ø Web – связь с фирмой-разработчиком через Интернет;

Ø Window (Окно) – связь с окнами системы;

Ø Help (Справка) – связь со справочной системой MATLAB.

Меню File содержит следующие команды:

o   New (Создать) предоставляет возможность создать новый объект, а именно:

·        M-File (М-файл) – файл с расширением m, в который записываются программы;

·        Figure (Фигура) – специальное окно для вывода графической информации;

·        Model (Модель) – модель Simulink;

·        GUI – графический интерфейс пользователя (Graphical User interface), используется для создания собственных приложений.

o   Open (Открыть) позволяет выполнить открытие существующего объекта посредством стандартного диалогового окна.

o   Close Current Directory (Закрыть текущий каталог) закрывает окно текущего каталога.

o   Import Data (Импортировать данные) производит импорт в среду MATLAB разнородных данных (анимационные ролики, звуковые файлы, числовые данные в различных форматах и т. д.)

o   Save Workspace As (Сохранить рабочую область как) выполняет сохранение рабочей области.

o   Set Path (Задать путь) организует работу с путями доступа.

o   Preferences (Настройка) изменяет некоторые свойства рабочей среды системы MATLAB.

o   Page Setup (Параметры страницы), Print (Печать), Print Selection (Печать выделенной области) служат для вывода информации на принтер, являются стандартными для многих пакетов.

o   Exit MATLAB (Выход) позволяет завершить работу с программой.

Меню Edit содержит следующие команды:

o   Undo (Отменить), Redo (Повторить), Cut (Вырезать), Copy (Копировать), Paste (Вставить), Select All (Выделить все) и Find (Найти) полностью соответствуют своему стандартному предназначению.

o   Paste Special (Специальная вставка) используется для обмена с внешними программами, числовыми данными посредством буфера обмена.

o   Clear Command Window (Очистить окно команд) Очищает командное окно.

o   Clear Command History (Очистить историю команд) Очищает окно предыстории.

o   Clear Workspace (Очистить рабочую область) очищает рабочую область от хранящихся в ней переменных.

Меню View содержит следующие команды:

o   Desktop Layout (Разметка рабочего стола) помогает задать количество и расположение окон путем исполнения пунктов подменю.

o   Undock (Отстыковать) позволяет сделать автономным (отделить от окна системы) выделенное в данный момент(активное) окно. После выбора данного пункта надпись меняется на Dock (Пристыковать) с названием активного окна. Меняется также на противоположную и функция пункта меню. Теперь при его выборе автономное окно снова прикрепляется к общему окну системы.

o   Следующая группа пунктов меню с названиями окон является группой переключателей. Каждый из этих пунктов может сделать видимым или невидимым соответствующее окно.

o   Current Directory Filter (Фильтр текущего каталога) имеет подменю пунктов-переключателей. С помощью этих переключателей можно выводить в окно Current Directory (текущий каталог) определенные типы файлов.

o   Workspace View Options (Параметры отображения рабочей области) позволяет менять состав информации о переменных в списке окна Workspace (Рабочая область). здесь можно также отсортировать список переменных по различным критериям.

1.3.Числа, переменные, функции

Числа в MATLAB могут быть положительными и отрицательными, целыми и дробными, действительными и комплексными. Они могут представляться с фиксированной и плавающей точкой, с мантиссой и порядком.

Особенности представления чисел в MATLAB:

v мнимая единица кодируется с помощью двух символов: i или j;

v целая часть числа от дробной отделяется точкой;

v отделение порядка числа от мантиссы осуществляется символом е.

Форматы чисел:

Ø format chort – короткое представление (5 знаков числа);

Ø format chort е – короткое представление в экспоненциальной форме (5 знаков мантиссы, 3 знака порядка);

Ø format lonq – длинное представление числа (15 знаков);

Ø format lonq е – длинное представление в экспоненциальной форме (15 знаков мантиссы, 3 знака порядка).

Переменные – это символы, используемые для обозначения некоторых хранимых данных. Переменная имеет имя, называемое идентификатором. Имя переменной начинается с буквы и может состоять из букв и цифр и некоторых (допустимых) символов.

Константы – это численное значение уникального имени, имеющего математический смысл. Наиболее часто в MATLAB используются следующие константы:

ü pi – число p;

ü inf – машинная бесконечность;

ü ans – имя переменной, хранящей результат вычисления;

ü NaN – нечисловой характер данных.

Элементарные функции:

v abs(x) – абсолютное значение х;

v exp(x) – экспоненциальная функция ех;

v log(x), log10(x), log2(x) – логарифмы чисел с основанием е, 10, 2;

v sqrt(x) – корень квадратный из х;

v sin(x), cos(x), tan(x), cot(x), sec(x), csc(x) – тригонометрические функции sin x, cos x, tg x, ctg x, sec x, cosec x;

v asin(x), acos(x), atan(x), acot(x), asec(x), acsc(x) – обратные тригонометрические функции arcsin x, arcos x, arctg x, arcctg x, arcsec x, arccosec x;

v sinh(x), cosh(x), tanh(x), coth(x), sech(x), csch(x) – гиперболические функции sh x, ch x, th x, cth x, sch x, csch x;

v asinh(x), acosh(x), atanh(x), acoth(x), asech(x), acsch(x) – обратные гиперболические функции arsh x, arch x, arth x, arcth x, arsch x, arcsch x.

Функцию пользователя можно создать следующим образом:

1.     Вызов окна редактора m-файлов путем нажатия кнопки New M-File (Создать m-файл).

2.     Ввод строки

function Z=expxp(x)

Ключевое слово function объявляет новую функцию, имя которой  expxp, а ее параметр – х. Символ Z определяет значение функции при аргументе x.

3.     Задание новой функции (функции пользователя). Пусть   Z=exp(x)/x

4.     Сохранение функции пользователя на диске. Для этого достаточно щелкнуть мышью по кнопке Save (Сохранить).

5.     Закрытие окна редактора m-файлов.

Функция пользователя Z=exp(x)/x создана.

Для вычисления функции при данном аргументе х достаточно набрать имя функции и значение аргумента в круглых скобках: z=expxp(1). На экране получим значение функции z = 2.7183.

1.4. Визуализация вычислений

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

Основными функциями двухмерной графики являются:

plot(x, y)

plot(x, y, s)

plot(x1, y1, s1, x2, y2, s2, …, xn, yn, sn)

где

¨     х – аргумент функции, задаваемой в виде вектора;

¨     у – функция, представленная в аналитическом виде или в виде вектора или матрицы;

¨     s – вектор стилей графика; константа, определяющая цвет линий графика, тип точек и тип линий;

¨     х1, х2, …, хn – аргументы n функций, изображаемых на одном графике;

¨     у1, у2, …, уn – функции, изображаемые на одном графике.

 

В таблице 1  (приложение 4) приведены стили графиков системы MATLAB.

Пример 1. Построить  график функции у=sin x×e-x.

В окне Command Window задается программа:

>> x=-5:0.5:5;                %  задание промежутка [-5;5] с шагом 0,1

>> y=sin(x).*exp(-x);     %  задание функции у

>> plot(x,y,['R','*','-.'])  %  выведение графика красного цвета (R), точки графика в виде снежинок (*), линии штрихпунктирные (-.)

>> grid on                       %  задание сетки

     График функции приведен на рис. 2.

Рис.2. График функции у=sin x×e-x.

Пример 2.

Найти уравнение линейной и гиперболической регрессий для функции, заданной таблично:

X

1

2

3

4

5

Y

4

5

3,5

1,5

2

Решение:

а) Вычислить коэффициенты a и b уравнения линейной регрессии можно, воспользовавшись системой:

­­                                                        (1)    

где                                                                 (2)

или формулами:

                                                 (3)

В командном окне программы MATLAB наберем следующую последовательность операторов:

>> x=[1;2;3;4;5];        % задание исходных данных

>> y=[4;5;3.5;1.5;2];

>> x2=[x.^2];

>> xy=[x.*y];

>> Mx=1/6*sum(x);        % вычисление элементов матриц М и d

>> My=1/6*sum(y);

>> Mx2=1/6*sum(x2);

>> Mxy=1/6*sum(xy);

>> M(1,1)=Mx2;           % задание матрицы М

>> M(1,2)=Mx;

>> M(2,1)=Mx;

>> M(2,2)=1;

>> d(1,1)=Mxy;           % задание матрицы d

>> d(2,1)=My;

>> Coeff=M^-1*d          % решение системы линейных уравнений  (1)

Coeff =

    0.0286

    2.5952

>> a=(Mxy-Mx*My)/(Mx2-Mx^2)  % вычисление коэффициентов  с помощью формул (3)

a =                                  

    0.0286

>> b=(Mx2*My-Mx*Mxy)/(Mx2-Mx^2)

b =

    2.5952

% вычисление суммы квадратов отклонений

>> y1=a*x+b;

>> e2=(y-y1).^2;

>> S=sum(e2)

S =

   10.0840

% построение графика полученной функции и исходных данных

>> plot(x,y1,x,y,'*')

Получили уравнение линейной регрессии    у=0,0286х+2,5952, сумму квадратов отклонений  S=10,084 и график (рис .3).

 

 

 

 

 

 

 

Рис. 3. Исходные данные и график для линейной функции

б) Для нахождения гиперболической регрессии воспользуемся заменой  и рассмотрим  таблицу

U

u1

u2

un

y

y1

y2

yn

для функции .

В командном окне программы MATLAB введем следующее:

>> x=[1;2;3;4;5];

>> u=(1./x);            % введение замены переменной х

>> y=[4;5;3.5;1.5;2];

>> u2=[u.^2];

>> uy=[u.*y];

>> Mu=1/6*sum(u);

>> My=1/6*sum(y);

>> Mu2=1/6*sum(u2);

>> Muy=1/6*sum(uy);

>> M(1,1)=Mu2;

>> M(1,2)=Mu;

>> M(2,1)=Mu;

>> M(2,2)=1;

>> d(1,1)=Muy;

>> d(2,1)=My;

>> Coeff=M^-1*d

Coeff =

    3.9564

    1.1610

>> a=(Muy-Mu*My)/(Mu2-Mu^2)

a =

    3.9564

>> b=(Mu2*My-Mu*Muy)/(Mu2-Mu^2)

b =

    1.1610

>> y2=a1./x+b1

>> e2=(y-y2).^2

>> S=sum(e2)

S =

    6.1769

>> plot(x,y2,x,y,'*')

Получили уравнение гиперболической регрессии  у=3,9564/х+1,1610, сумму квадратов отклонений S=6,1769 и график (рис 4.).

Рис.4.Исходные данные и график для гиперболической функции

Теоретические вопросы для  защиты лабораторной работы

1.     Назови четыре основных окна. Какие функции они выполняют?

2.     Аналогом какой известной программы является окно Current Directory?

3.     Для чего предназначена система MATLAB?

4.     Какие символы может содержать имя переменной?

5.     Назови наиболее используемые в MATLAB константы?

6.     Какие элементарные функции ты знаешь? Как они обозначаются в системе MATLAB?

7.     Как создать функцию пользователя?

8.     Назови основные функции двухмерной графики? Объясни параметры этих функций.

9.     Общая постановка задачи нахождения приближающей функции.

10.      В чем суть приближения таблично заданной функции по методу наименьших квадратов?

11.      Какие  функции могут быть использованы в качестве приближающих?

12.      Как находятся отклонения измеренных значений Y от вычисленных по формуле приближающей функции?

13.      Как найти приближающую функцию в виде линейной функции F(x,a,b)=ax+b?

14.      Как найти приближающую функцию в виде квадратичной функции F(x,a,b,c)=ax2+bx+c?

15.      Как привести показательную, степенную, логарифмическую функции к линейной?

16.      Как функция трех переменных может принимать наименьшее значение?

17.      Что такое коэффициент корреляции и как он находится?

18.      Каковы границы значения коэффициента корреляции и что они показывают?

19.      Что такое отклонение?

20.      Как можно определить правильность вида выбранной функции.

Задания для самостоятельного решения

Задание 1. Создать функцию пользователя y=f(x), вычислить ее значение в точке х0 и простроить график. (Приложение 2)

Задание 2. Используя данные таблицы  (приложение 3) и применяя стандартные замены переменных, найти  уравнения следующих видов регрессий:

·        линейной,

·        гиперболической,

·        степенной,

·        показательной,

·        логарифмической.

Сравнить  качество  полученных  приближений  путем  сравнения  их отклонений.

 Построить  графики  получившихся зависимостей и табличных значений аргументов и функции.

 

 

 

Список использованной  литературы

1.       Дьяконов В.П. MATLAB. Полный самоучитель [Электронный ресурс] / В.П. Дьяконов. — Электрон. текстовые данные. — Саратов: Профобразование, 2017. — 768 c. — 978-5-4488-0065-8. — Режим доступа: http://www.iprbookshop.ru/63590.html

2.       Введение в математический пакет Matlab [Электронный ресурс] : учебно-методическое пособие / . — Электрон. текстовые данные. — М.: Московский технический университет связи и информатики, 2016. — 88 c. — 2227-8397. — Режим доступа: http://www.iprbookshop.ru/61469.html

3.       Плохотников К.Э. Методы разработки математических моделей и вычислительный эксперимент на базе пакета MATLAB [Электронный ресурс]: курс лекций / К.Э. Плохотников. — Электрон. текстовые данные. — М. : СОЛОН-ПРЕСС, 2017. — 628 c. — 978-5-91359-211-8. — Режим доступа: http://www.iprbookshop.ru/64926.html

 

 

 

Приложение 1

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Кабардино-Балкарский государственный университет   им. Х.М. Бербекова» (КБГУ)

 

 

ИНСТИТУТ ФИЗИКИ И МАТЕМАТИКИ

 

 

 

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

«МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ  В СИСТЕМЕ MATLAB»

 

 

 

                                                                                   Выполнил: Ф.И.О.

                                                                                   Проверил:  Ф.И.О.

 

 

 

 

 

 

Нальчик

2019

 

 

Приложение 2

Данные  для задания 1 по вариантам

№ варианта

Функция

х0

1

5,5

2

2,75

3

3,1

4

4,21

5

6,32

6

4,75

7

2,35

8

8,29

9

4,56

10

1,23

11

7,55

12

3,64

 

 

 

Приложение 3

Данные для  задания 2 по вариантам

Задание

1

х

1,20

1,57

1,94

2,31

2,68

3,05

3,42

3,79

у

2,56

2,06

1,58

1,25

0,91

0,66

0,38

0,21

2

х

1,73

2,56

3,39

4,22

5,05

5,89

6,70

7,53

у

0,63

1,11

1,42

1,96

2,30

2,89

3,29

3,87

3

х

-4,38

-3,84

-3,23

-2,76

-2,22

-1,67

-1,13

-0,60

у

2,25

2,83

3,44

4,51

5,29

6,55

8,01

10,04

4

х

1,00

1,64

2,28

2,91

3,56

4,29

4,84

5,48

у

0,28

0,19

0,15

0,11

0,09

0,08

0,07

0,06

5

х

5,89

3,84

6,19

9,22

7,87

6,29

4,43

8,91

у

79,31

57,43

60,66

90,55

92,12

71,30

70,50

91,25

6

х

2,91

2,94

6,35

6,58

3,80

6,43

0,57

5,96

у

82,16

61,02

44,56

82,52

99,19

70,24

63,23

66,48

7

х

1,23

1,79

2,24

2,76

3,20

3,68

4,16

4,64

у

2,10

2,84

3,21

3,96

4,86

6,06

7,47

9,25

8

х

-4,38

-3,84

-3,23

-2,76

-2,22

-1,67

-1,13

-0,60

у

1,73

2,56

3,39

4,22

5,05

5,89

6,70

7,53

9

х

2,56

2,06

1,58

1,25

0,91

0,66

0,38

0,21

у

0,63

1,11

1,42

1,96

2,30

2,89

3,29

3,87

10

х

79,31

57,43

60,66

90,55

92,12

71,30

70,50

91,25

у

5,89

3,84

6,19

9,22

7,87

6,29

4,43

8,91

11

х

2,10

2,84

3,21

3,96

4,86

6,06

7,47

9,25

у

1,00

1,64

2,28

2,91

3,56

4,29

4,84

5,48

12

х

0,28

0,19

0,15

0,11

0,09

0,08

0,07

0,06

у

82,16

61,02

44,56

82,52

99,19

70,24

63,23

66,48

 

 

Приложение 4

Таблица 1.  Стили графиков

Тип точки

Цвет линии

Тип линии

.

Точка

Y

Желтый

-

Сплошная

О

Окружность

M

Фиолетовый

:

Двойной пунктир

´

Крест

C

Голубой

-.

Штрих-пунктир

+

Плюс

R

Красный

--

Штриховая

*

Восьмиконечная снежинка

G

Зеленый

 

 

S

Квадрат

B

Синий

 

 

D

Ромб

W

Белый

 

 

V, ^, <, >

Треугольник вверх, вниз, влево, вправо

K

Черный

 

 

P

Пятиконечная звезда

 

 

 

 

H

Шестиконечная звезда

 

 

 

 

 

Теги

    01.10.2019

    Комментарии