Лабораторная работа №1
По дисциплине: Цифровая обработка сигналов
Тема: Общие принципы работы системы MatLab
Выполнили: ст. гр. И-33 БН
Проверил: ст. преподаватель
Быстров С.А
Екатеринбург 2017
Лабораторная работа 1
Общие принципы работы системы Matlab
1 Цель работы:
1.1 Ознакомление с системой MatLab, правилами создания числовых массивов и приобретение практических навыков по использованию средств системы для работы с ними
2 Основное оборудование:
2.1. Персональный компьютер.
3 Задание:
3.1
Создать вектор-строку: начальный элемент равен –, конечный, шаг равен 0.1. Транспонировать строку в столбец.
x = -pi:0.1:pi;
a=x';
3.2 Создать три вектор-строки из 5 элементов fi= [xn, xn-1, xn-2, xn-3, xn-4], где n = 5 для х = 2, 3, 4. Объединить эти строки в матрицу А(3 × 5).
f1=[10 9 8 7 6]
f2=[15 14 13 12 11]
f3=[20 19 18 17 16]
A=[f1;f2;f3]
3.3 Создать три вектор-столбца из 5 элементов арифметической прогрессии. Элемент арифметической прогрессии рассчитывается по формуле:
an = an-1 + d,
где аn–1 – предыдущий элемент; аn– последующий.
Пять элементов вектора формируются, начиная с задания первого элемента а и c использованием шага арифметической прогрессии d для задания последующих элементов:
Для первого вектор-столбца a = 2; d = 1;
Для второго вектор-столбца a = 7; d = 2;
Для третьего вектор-столбца a = 10; d = –2.
a1=[2;3;4;5;6]
a2=[7;9;11;13;15]
a3=[10;8;6;4;2]
3.3.1 Объединить эти вектор-столбцы в матрицу В(5 × 3).
B=[a1 a2 a3]
3.3.2 Транспонировать матрицу В из предыдущего пункта задания и объединить с матрицей А в матрицу М(6 × 5).
B1=B'
M=[A;B1]
3.3.3 Из матрицы A убрать вторую строку.
A(2,:)=[]
3.3.4 У матрицы В обнулить третью строку и убрать две последние строки.
B(3,:)=0
B(4:5,:)=0
3.3.5 Создать матрицу Н(2 2) путем выделения первых двух
строк и столбцов матрицы М из четвертого пункта задания.
H=M(1:2,1:2)
3.3.6 Создать с помощью функции repmat матрицу, состоящую из 2 × 3 матриц Н.
H1=repmat(H,2,3)
3.3.7 Создать матрицы размерностью 3 × 3: C – единиц; D – нулей; E – равномерно распределенных случайных чисел; F – нормально-распределенных случайных чисел.
C=ones(3)
D=zeros(3)
E=rand(3)
F=randn(3)
3.3.8 Найти минимальный элемент в матрице равномерно-распределенных чисел размерностью 3 5, используя функцию reshape.\
Y=rand(3,5)
k=reshape(Y,1,3*5)
min(k)
4.3.9 Создать символьные константы: а) Миру мир; б) Введите матрицу, ввести комментарий:
Использование интерактивного ввода.
a=input('Миру мир','s')
b=input('Введите матрицу','s')
5 Контрольные вопросы:
5.1 Как представляется информация в системе MatLab?
Название системы MatLab происходит от слов Matrix Laboratory (матричная лаборатория). Пакет ориентирован на обработку массивов данных.
В интерфейс системы MatLab входят следующие панели:
Command Window (Окно Команд), где проводятся все расчеты и операции;
Launch Pad (Окно Разделов), где можно получить доступ к различным модулям ToolBox;
Workspace (Рабочее пространство), где отображается текущий набор переменных, введенных пользователем в командном окне;
Current Directory (Текущий каталог), где можно установить текущий
каталог;
Command History (История команд), где хранятся команды, набираемыепользователями.
5.2 Как можно создать векторы в системе MatLab?
Рассмотрим некоторые способы формирования числовых массивов. При их создании можно использовать:
Квадратные скобки; Специальную конструкцию j:i:k; Конкатенацию (объединение);
Специальные матричные функции.
Для создания вектор-строки используются квадратные скобки с перечислением элементов строки через пробел или запятую и специальная конструкция j:i:k с указанием начального значения вектора – j, шага – i и конечного значения вектора – k через двоеточие (если значение шага равно 1, его можно не указывать).
Для создания вектор-столбца элементы вектора перечисляются через точку с запятой в квадратных скобках или транспонируется полученный ранее вектор- строка. Для выполнения операции транспонирования используется одиночная кавычка ('), которая ставится после индетификатора, определяющего транспонируемую структуру. Для комплексных матриц транспонирование дополняется сопряжением матрицы. Точка с одиночной кавычкой (.') используется для транспонирования массива без операции сопряжения для комплексных матриц.
5.3 Какой вектор генерирует функция logspace?
Функция logspace генерирует вектор равноотстоящих в логарифмическом масштабе точек. Она особенно эффективна при создании вектора частот.
5.4 Как можно создать матрицы в системе MatLab?
Для создания матрицы можно использовать следующие способы ввода элементов в квадратных скобках:
1. По строкам, разделяющимся точкой с запятой;
2. По столбцам, заданным в квадратных скобках;
3. По строкам в интерактивном режиме.
5.6 Каким образом производится индексация массивов в системе MatLab, удаление, обнуление строк, столбцов?
Элементы массивов обладают двумя свойствами: порядковым номером (индексом) в массиве и собственно значением. Нумерация элементов в системе MatLab начинается с единицы. Для указания индексов элементов массивов используются круглые скобки (ошибка при индексации массива генерируется в том случае, если индекс элемента меньше единицы или больше размера массива).
Если надо изменить значение всего столбца или строки, то номера, обозначающие диапазон значений, не указываются и остается одно двоеточие.
5.7 Чем отличается определение почленных и матричных операций в системе MatLab?
Почленные операции обращаются к определенному значению матрицы, а матричные операции наоборот обращаются ко всей матрице.
5.8 Как получить транспонированный массив?
транспонирование матрицы производится при помощи апострофа
5.9 Какие особенности существуют при транспонировании массива комплексных чисел?
Для создания вектор-столбца элементы вектора перечисляются через точку с запятой в квадратных скобках или транспонируется полученный ранее вектор-строка. Для выполнения операции транспонирования используется одиночная кавычка('), которая ставится после индетификатора, определяющего транспонируемую структуру. Для комплексных матриц транспонирование дополняется сопряжением матрицы. Точка с одиночной кавычкой(.') используется для транспонирования массива без операции сопряжения для комплексных матриц.
5.10 Как можно объединить матрицы?
конкатенации — объединения малых матриц в большую
5.11 Как создаются строковые константы?
Для задания строковых констант в MATLAB используются апострофы
5.12 Какие системные переменные и константы есть в системе MatLab?
i или j — мнимая единица (корень квадратный из -1);
pi – число п - 3.1415926...;
eps — погрешность операций над числами с плавающей точкой (2-52);
realmin — наименьшее число с плавающей точкой (2-1022);
realmax — наибольшее число с плавающей точкой (21023);
inf — значение машинной бесконечности;
ans — переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;
NaN — указание на нечисловой характер данных (Not-a-Number).
5.13 Как вводится комментарий? Символ: %
5.14 Как можно определить размер массива?
Reshape(m,n)