Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

1 Цель работы
Изучение способов создания векторов и матриц.
Изучение основных операций с матрицами.
2 Теоретический материал
Задание матриц
MATLAB/Octave – пакеты программ, специально предназна-ченных для осуществления вычислений с векторами, матрицами и по-линомами. Под вектором в MATLAB/Octave понимается одномерный массив чисел, а под матрицей – двумерный массив. При этом следует четко понимать, что вектор, вектор-строка, вектор-столбец – это мате-матические объекты, а одномерный, двумерный или многомерный массив – структура данных, предназначенная для хранения этих объ-ектов (array). По умолчанию предполагается, что любая заданная пе-ременная является вектором или матрицей (в терминах программы – массивом).
Массиву (матрице) присваивается имя, а доступ к его элемен-там осуществляется с помощью целочисленных индексов, которые определяют порядковые номера элементов. В отличие от математики, индексы в MATLAB/Octave начинаются не с нуля, а с единицы.
В зависимости от количества индексов массивы разделяются на одномерные, двумерные и многомерные.
Например, отдельное заданное число А (скаляр) система вос-принимает как матрицу размером 1х1 (массив из одной строки и од-ного столбца):

screenshot 26 2

screenshot 27 2

screenshot 28 2

screenshot 29 2

screenshot 30 2

screenshot 31 2

screenshot 32 2

screenshot 33 2

screenshot 34 2

screenshot 35 2

screenshot 36 2

screenshot 37 1

screenshot 38 1

Задание 1
1) В режиме командной строки сформировать четыре массива (матрицы):
– массив А – размером 5х5, элементы которого взять из табл. 2.2. Верхний левый элемент матрицы определяется по номеру зачётной книжки;
– массив B – размером 5х5, состоящий из единиц;
– вектор-строка C – размером 6 элементов, состоящий из слу-чайных целых чисел;
– массив R – размером 4х4, состоящий из случайных чисел диапазона 0…1 с равномерным распределением.
2) Получить сведения о созданных массивах используя коман-ды whos и size.
Результаты всех операций занести в отчёт.
Задание 2
Выполнить следующие операции в командном режиме
1) сложить массивы A и B, результат поместить в переменную F1;
2) из массива A вычесть массив B, результат поместить в пере-менную F2;
3) перемножить матрицы A и B, результат поместить в пере-менную F3;
4) умножить матрицу A на скаляр а, равный сумме двух млад-ших разрядов номера зачетной книжки. Результат занести в перемен-ную F4;
5) разделить матрицу A на скаляр а, результат занести в пере-менную F5;
6) используя матрицу B и скаляр a создать матрицу F6 того же размера, все элементы которой равны a;
7) перемножить поэлементно матрицы A и F6, сохранив ре-зультат в переменной F7;
8) поделить поэлементно матрицы A и F6, сохранив результат в переменной F8;
9) преобразовать вектор-строку C в вектор-столбец Е;
10)перемножить матрицы C и E, сохранив результат в перемен-ную F9;
11)перемножить матрицы E и C, сохранив результат в перемен-ную F10;
12)перемножить матрицы А и E, сохранив результат в перемен-ную F11;
13)выполнить объединение матриц A и B по вертикали с созда-нием новой матрицы F12;
14)удалить пятую строку из матрицы F12;

15)используя операцию конкатенации и вектор-столбец Е соз-дать квадратную матрицу E6 размером 6х6.
Результаты всех операций занести в отчёт и проанализировать.

screenshot 39 1

Задание 3
Составить и отладить программу для выполнения всех задач из табл. 2.3.
Листинг программы и результаты её работы занести в отчёт.

screenshot 40 1

Задание 4
Составить программу решающую следующие задачи:
1) создать матрицу G1 размером 6х6 состоящую из случайных чисел диапазона 0…1;
2) определить число строк r и столбцов c матрицы G1, а также число элементов n в ней;
3) определить значения минимального gmin и максимального gmax элементов матрицы G1 и индексы первого минимума rmin, cmin и максимума rmax,cmax;
4) определить скаляр k1, сложение с которым преобразует эле-менты матрицы G1 к значениям при которых минимальное значение gmin = 0. Выполнить перемасштабирование матрицы G1 создав мат-рицу G2 из преобразованных значений;
5) определить скаляр k2, умножение на который преобразует элементы матрицы G2 к значениям при которых максимальное значе-ние gmax = 1. Выполнить нормировку матрицы G2 создав матрицу G3 из преобразованных значений;
6) выполнить прореживание матрицы G3 по горизонтали ис-ключением столбцов с четными номерами. Результат сохранить в пе-ременной G4;

7) выполнить прореживание матрицы G4 по вертикали исклю-чением строк с нечетными номерами. Результат сохранить в перемен-ной G5;
8) выполнить прореживание матрицы G1 по горизонтали ис-ключением столбцов с четными номерами, а по вертикали исключени-ем столбцов с нечетными номерами. Результат сохранить в перемен-ной G6. Сравнить результат с результатом п.7;
9) заменить первый и последний элемент матрицы G2 на мак-симальные значения gmax, создав новую матрицу G7;
10)заменить вторую и четвертую строки матрицы G2 на строки состоящие из единиц, создав новую матрицу G8;
11)заменить третий столбец матрицы G2 на столбец состоящий из нулей, создав новую матрицу G9.
Листинг программы и содержимое всех созданных матриц и скаляров занести в отчёт.
5 Требования к отчёту
Отчёт должен содержать:
– титульный лист с указанием названия ВУЗа, кафедры, номе-ра и темы лабораторной работы, а также фамилии и инициалов студен-та, подготовившего отчёт;
– цель выполняемой работы;
– задания;
– листинги всех программ с обязательными комментариями;
– полученные на каждом этапе работы результаты;
– выводы по каждому выполненному заданию.
6 Контрольные вопросы
6.1 Какие существуют способы задания матриц и векторов в MATLAB/Octave?
6.2 Что представляет собой магическая матрица и как её создать средствами MATLAB/Octave?
6.3 Какие основные операции применяются к массивам?
6.4 Какие основные операции применяются к векторам и матрицам?
6.5 Что представляют собой массив, вектор и матрица? Какие два типа операций применимы для массивов?
6.6 Поясните выполнение операций матричного умножения.
6.7 Поясните выполнение операций умножения матрицы и скаляра.
6.8 Поясните выполнение поэлементных операций с матрицами.
6.9 Какие собственные функции MATLAB/Octave используются для задания матриц?

6.11 Как можно определить число элементов матрицы (массива)?
6.12 Как можно выделить максимальные и минимальные элементы в числовом массиве?
6.13 Как преобразовать матрицу в вектор-столбец?
6.14 Как вычислить среднее значение элементов матрицы?
6.15 Как что означает и как вычисляется среднеквадратичное отклонение элементов матрицы?
6.16 Как произвести сортировку матрицы по разным признакам?
6.17 Как можно добавить в матрицу новые строки и столбцы?
6.18 Как можно заменить значения элементов матрицы на новые?
6.19 Какие правила следует выполнять при подготовке программ в виде m-файлов?
6.20 Как можно удалить из матрицы строки или столбцы?
7 Рекомендуемая литература
1 Matlab и Simulink – сообщество пользователей, материалы, книги, форум [Электронный ресурс] – Режим доступа: http://matlab.exponenta.ru, свободный. – Загл. с экрана.
2 Дьяконов, В. П. MATLAB. Полный самоучитель [Текст] / В. П. Дьяконов. – М.: ДМК Пресс, 2012. – 768 с.
3 Дьяконов, В. П. MATLAB 6.5 SP1/7/7 SP1 + Simulink 5/6. Ра-бота с изображениями и видеопотоками [Текст] / В. П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – с.64…68.
4 Солонина, А. И. Цифровая обработка сигналов. Моделирова-ние в MATLAB [Текст] / А. И. Солонина, С. М. Арбузов. – СПб.: БХВ-Петербург, 2008. – 816 с.
5 Сайт книги Алексеев Е.Р., Чеснокова О.В. GNU Octave для студентов и преподавателей. –Донецк.:ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2011. – 332с. [Электронный ресурс] – режим доступа http://gnu-octave.narod.ru/, свободный. – Загл. с экрана.
6 Сайт разработчиков Octave [Электронный ресурс] – режим доступа https://octave.org/doc/v6.4.0/, свободный. –Загл. с экрана.

Была ли полезна данная статья?
Да
66.67%
Нет
33.33%
Проголосовало: 198

или напишите нам прямо сейчас:

Написать в WhatsApp Написать в Telegram