Сделай Сам Свою Работу на 5

Конкатенация (объединение) массивов





ЛАБОРАТОРНАЯ РАБОТА № 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 Все материалы защищены законодательством РФ.