Лаба 1. общие принципы работы системы matlab
Скачать 1.7 Mb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ (МАМИ) / УНИВЕРСИТЕТ МАШИНОСТРОЕНИЯ / Дисциплина «Цифровая обработка сигналов» Лабораторная работа №1. Тема: «ОБЩИЕ ПРИНЦИПЫ РАБОТЫ СИСТЕМЫ MATLAB» Группа: 6-УТСн-3 Студент: Тихонова Т.А. Преподаватель: Чернокозов В.В. Москва 2016 Лабораторная работа № 1. Общие принципы работы системы matlab Цель работы –ознакомление с системойMatLab,правилами созданиячисловых массивов и приобретение практических навыков по использованию средств системы для работы с ними. 1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Название системы MatLab происходит от слов Matrix Laboratory (матричная лаборатория). Пакет ориентирован на обработку массивов данных. В интерфейс системы MatLab входят следующие панели:
Матричная система MatLab выделяется из других систем тем, что ее операторы и функции имеют операнды в виде векторов и матриц. Так как операции с матрицами могут быть как поэлементными, так и матричными, то в поэлементные операторы добавляется точка. Например, символы точка, звездочка ‘*’ определяют поэлементное умножение массивов, символ звездочка ‘*’ – матричное умножение (табл. 1). Набор любой команды должен заканчиваться нажатием клавиши Справочная информация Получить справочную информацию можно следующими операторами: helpwin– справка о разделах и функциях системы MatLab; helpdesk– общая справка о системе MatLab; doc <имя_функции> –вывод описания функции в окнеHelp ; help <имя_функции> –краткая информация о функции; type <имя _функции> –вывод текстаm–файла функции; demo –команда вызова тестовых примеров. Таблица 1.1 Список арифметических операторов
Для введения комментария используют знак процента – %. Для создания вектор-строки используются квадратные скобки с перечислением элементов строки через пробел или запятую и специальная конструкция j:i:k с указанием начального значения вектора – j, шага – i и конечного значения вектора – k через двоеточие (если значение шага равно 1, его можно не указывать). Для создания вектор-столбца элементы вектора перечисляются через точку с запятой в квадратных скобках или транспонируется полученный ранее вектор-строка. Для выполнения операции транспонирования используется одиночная кавычка ('), которая ставится после индетификатора, определяющего транспонируемую структуру. Для комплексных матриц транспонирование дополняется сопряжением матрицы. Точка с одиночной кавычкой (.') используется для транспонирования массива без операции сопряжения для комплексных матриц. Для создания матрицы можно использовать следующие способы ввода элементов в квадратных скобках:
Задание 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. Определить длину заданного вектора
an= an-1+ d, где аn–1– предыдущий элемент; аn– последующий. Пять элементов вектора формируются, начиная с задания первого элемента а и c использованием шага арифметической прогрессии d для задания последующих элементов:
B= [a1 a2 a3] B = 2 7 10 3 9 8 4 11 6 5 13 4 6 15 2
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
A(2,:)=[] A= 32 16 8 4 2 1024 256 64 16 4
B(3,:)=0 B= 2 3 4 5 6 7 9 11 13 15 0 0 0 0 0 B(2:3,:)=[] B = 2 3 4 5 6 5. Создать матрицу Н(2*2) путем выделения первых двух строк
H=[M(1,1) M(1,2);M(2,1) M(2,2)] H= 2 3 7 9
repmat(H,2,3) ans= 2 3 2 3 2 3 7 9 7 9 7 9 2 3 2 3 2 3 7 9 7 9 7 9
C=ones(3) C = 1 1 1 1 1 1 1 1 1 D=zeros(3) D = 0 0 0 0 0 0 0 0 0 E=rand(3,3) %матрица равномерно-распределенных случайных чисел E = 0.6948 0.0344 0.7655 0.3171 0.4387 0.7952 0.9502 0.3816 0.1869 F=randn(3,3) % матрица нормально-распределенных случайных чисел F = -0.0301 1.0933 0.0774 -0.1649 1.1093 -1.2141 0.6277 -0.8637 -1.1135
чисел размерностью 3 * 5, используя функцию reshape. Q=rand(3,5) Q = 0.4984 0.5853 0.2551 0.8909 0.1386 0.9597 0.2238 0.5060 0.9593 0.1493 0.3404 0.7513 0.6991 0.5472 0.2575 [m,n]=size(Q); p=reshape(Q,1,m*n); min=min(p) min= 0.1386 S='Миру мир' S=Миру мир S1='Введите матрицу' %Использование интерактивного ввода S1 =Введите матрицу |