Конкатенация (объединение) массивов
ЛАБОРАТОРНАЯ РАБОТА № 1.
ОБЩИЕ ПРИНЦИПЫ РАБОТЫ СИСТЕМЫ MATLAB
Цель работы–ознакомление с системойMatLab,правилами созданиячисловых массивов и приобретение практических навыков по использованию средств системы для работы с ними.
1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Название системы MatLab происходит от слов Matrix Laboratory (матричная лаборатория). Пакет ориентирован на обработку массивов данных.
В интерфейс системы MatLab входят следующие панели:
· Command Window (Окно Команд), где проводятся все расчеты и операции;
· Launch Pad (Окно Разделов), где можно получить доступ к различным модулям ToolBox;
· Workspace (Рабочее пространство), где отображается текущий набор переменных, введенных пользователем в командном окне;
· Current Directory (Текущий каталог), где можно установить текущий каталог;
· Command History (История команд), где хранятся команды, набираемые пользователями.
Матричная система MatLab выделяется из других систем тем, что ее операторы и функции имеют операнды в виде векторов и матриц. Так как операции с матрицами могут быть как поэлементными, так и матричными, то в поэлементные операторы добавляется точка. Например, символы точка, звездочка ‘*’ определяют поэлементное умножение массивов, символ звездочка ‘*’ – матричное умножение (табл. 1). Набор любой команды должен заканчиваться нажатием клавиши <Enter>. Действие, выполняемое функцией, применяется ко всем элементам массива, передаваемым в списке входных аргументов.
Справочная информация
Получить справочную информацию можно следующими операторами:
helpwin– справка о разделах и функциях системы MatLab;
helpdesk– общая справка о системе MatLab;
doc <имя_функции>–вывод описания функции в окнеHelp ;help <имя_функции>–краткая информация о функции;
type <имя _функции>–вывод текстаm–файла функции;demo–команда вызова тестовых примеров.
Таблица 1.1 Список арифметических операторов
Функция
| Название
| Оператор
| Синтаксис
|
|
|
|
| Plus
| Плюс
| +
| M1+M2
| uplus
| Унарный плюс
| +
| +M
| minus
| Минус
| –
| M1–M2
| uminus
| Унарный минус
| –
| –M
| mtimes
| Матричное умножение
| *
| M1*M2
| times
| Поэлементное умножение массивов
| .*
| M1.*M2
| mpower
| Возведение в степень матрицы
| ^
| M1^x
| power
| Поэлементное возведение в степень массива
| .^
| M1.^x
| mldivide
| Обратное (справа налево) деление матриц
| \
| M1\M2
| mrdivide
| Деление матриц слева направо
| /
| M1/M2
| ldivide
| Деление поэлементное массивов справа налево
| .\
| M1.\M2
| rdivide
| Деление поэлементное массивов слева направо
| ./
| M1./M2
|
Для введения комментария используют знак процента – %.
Для создания вектор-строки используются квадратные скобки с перечислением элементов строки через пробел или запятую и специальная конструкция j:i:k с указанием начального значения вектора – j, шага – i и конечного значения вектора – k через двоеточие (если значение шага равно 1, его можно не указывать).
Для создания вектор-столбца элементы вектора перечисляются через точку с запятой в квадратных скобках или транспонируется полученный ранее вектор-строка. Для выполнения операции транспонирования используется одиночная кавычка ('), которая ставится после индетификатора, определяющего транспонируемую структуру. Для комплексных матриц транспонирование дополняется сопряжением матрицы. Точка с одиночной кавычкой (.') используется для транспонирования массива без операции сопряжения для комплексных матриц.
Для создания матрицы можно использовать следующие способы ввода элементов в квадратных скобках:
1. По строкам, разделяющимся точкой с запятой;
2. По столбцам, заданным в квадратных скобках;
3. По строкам в интерактивном режиме.
Задание 1. Создать вектор-строку,вектор-столбец и матрицы
Конкатенация (объединение) массивов
С помощью операции конкатенации можно формировать новые массивы из ранее созданных – векторов, матриц, используя эти массивы в качестве своих элементов. Объединять массивы можно по горизонтали и по вертикали.
При горизонтальной конкатенации в качестве разделителя массивов в квадратных скобках используется запятая или пробел, например, если В и А – матрицы, то M = [А, В] – горизонтальная конкатенация матриц А и В. А и В должны иметь одинаковое число строк. Горизонтальная конкатенация может быть применена для любого числа матриц в пределах одних скобок [A, B, C].
При вертикальной конкатенации в качестве разделителя массивов в квадратных скобках используется точка с запятой, например, если C и D – матрицы, то M = [C; D] – вертикальная конкатенация матриц C и D. C и D должны иметь одинаковое число столбцов. Вертикальная конкатенация может быть применена для любого числа матриц в пределах одних скобок [C; D; E]. Вертикальная и горизонтальная конкатенация может быть применена в одной операции.
Задание 2. Создать матрицу,используя вертикальную и горизонтальнуюконкатенацию
Задание 3. Создать квадратную единичную матрицу размерностью2
Задание 4. Создать вектор-столбец с помощью вертикальной конкатенации
использованием функций rand и randn
Задание 5. Создать матрицу с помощью горизонтальной конкатенации сиспользованием функций ones и zeros
Функция repmat() создает матрицу, копируя исходный массив заданное число раз по вертикали и горизонтали.
B = repmat(A,M,N)–функция создает матрицуB,состоящую изMкопийА по вертикали и N копий А по горизонтали, то есть M N копий массива A (если А – число, функция формирует матрицу размером M N со значением элементов, равных А).
Задание 6. Сформировать матрицуcиспользованием вектор-строки а изтрех элементов
Задание 7. Сформировать матрицу размерностью2 3,все элементыкоторой равны десяти
Индексация массивов
Элементы массивов обладают двумя свойствами: порядковым номером (индексом) в массиве и собственно значением. Нумерация элементов в системе MatLab начинается с единицы. Для указания индексов элементов массивов используются круглые скобки (ошибка при индексации массива генерируется в том случае, если индекс элемента меньше единицы или больше размера массива).
Задание 8. Задать вектор-строку из четырех элементов и изменить третийэлемент на значение 8
Задание 9. Изменить значение элемента матрицы случайных чиселS,находящегося во второй строке и в четвертом столбце, на 1
Задание 10. Обнулить третий и четвертый столбец из предыдущегопримера
Пустые квадратные скобки удаляют информацию из индексированной структуры.
A(m,:) = [ ] – удаляет строку m из матрицы A. A(:,n) = [ ] – удаляет столбец n из матрицы A.
Сервисные функции
Ниже приведены некоторые функции, необходимые при работе с массивами:
[M,N] = size(<идентификатор_массива>)–возвращает размер массива,где M – число строк; N – число столбцов.
Задание 11. Определить размерность единичной матрицы
max(<идентификатор_массива>) и min(<идентификатор_массива>)–
вычисляет вектор строку, содержащую максимальные или минимальные элементы в каждом столбце матрицы.
Задание 12. Определить максимальные значения матрицы случайныхчисел
Задание 13. Преобразовать матрицу из предыдущего примера в вектор-строку и найти экстремальные значения
Задание 14. Определить длину заданного вектора
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1. Создать вектор-строку: начальный элемент равен – pi, конечный pi, шаг равен 0.1. Транспонировать строку в столбец.
2. Создать три вектор-строки из 5 элементов fi = [xn, xn-1, xn-2, xn-3, xn-4], где n = 5 для х = 2, 3, 4. Объединить эти строки в матрицу А(3 × 5).
3. Создать три вектор-столбца из 5 элементов арифметической прогрессии. Элемент арифметической прогрессии рассчитывается по формуле:
an = an-1 + d,
где аn–1 – предыдущий элемент; аn – последующий.
Пять элементов вектора формируются, начиная с задания первого элемента а и c использованием шага арифметической прогрессии d для задания последующих элементов:
o Для первого вектор-столбца a = 2; d = 1;
o Для второго вектор-столбца a = 7; d = 2;
o Для третьего вектор-столбца a = 10; d = –2.
1. Объединить эти вектор-столбцы в матрицу В(5 × 3).
B= [a1 a2 a3]
B =
2 7 10
3 9 8
4 11 6
5 13 4
6 15 2
2. Транспонировать матрицу В из предыдущего пункта задания и объединить с матрицей А в матрицу М(6 × 5).
B=B'
B =
2 3 4 5 6
7 9 11 13 15
10 8 6 4 2
M=[B;A]
M =
2 3 4 5 6
7 9 11 13 15
10 8 6 4 2
32 16 8 4 2
243 81 27 9 3
1024 256 64 16 4
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|