Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 1
з курсу „ Обробка сигналів ”
Тема:
Ознайомлення з основами роботи в системі MATLAB.
Виконання елементарних операцій над сигналами.
Львів – 2006
Мета роботи: Вивчити можливості системи MatLab. Набути навики
роботи в даному середовищі.
Порядок виконання роботи
1. Запустити систему MatLab.
2. Ознайомитися з демонстраційною програмою, звернувши увагу на
виконання елементарних операцій над матрицями і векторами (demo).
(Додаткова інформація міститься також у файлі MatLab_book.pdf).
3. В командному вікні MatLab проілюструвати можливі операції над
матрицями та векторами.
4. Вивчити можливості системи для роботи з графікою.
5. Написати власну програму, яка реалізовує завдання, задане варіантом.
1. Завдання.
Варіант 9. Задати цілочисельну матрицю розміру 10 x 7. Знайти матрицю, що отримується з даної, шляхом перестановки рядків – першого з останнім, другого з передостаннім і т.д.
2. Перелік і короткий опис основних функцій
Створення векторів та матриць.
Ввід векторів і матриць з командного рядка відбувається в квадратних дужках - «[]», при чому стовпці (тобто елементи в рядку) відділяються комою - «,» або пробілом – « », а самі рядки крапкою з комою – «;».
Приклад: a=[12,13,14;1 3 8] a =
12 13 14
1 3 8
Утворилася матриця розміру 2x3
ndims(c) ans = 2 Розмірність матриці «с» становить 2
size(c) ans =2 3 Розмір матриці «с» становить 2 рядки і 3 стовпці (2x3)
Звертання до елементів матриць і векторів
Доступ до елементів вектора відбувається за допомогою індексу в круглих дужках після імені масиву, в якому зберігається вектор. Елементам масиву можна присвоювати нові значення, вони можуть приймати участь у виразах, з них можна формувати нові масиви. Для того, щоб певні елементи одного вектору помістити в інший у заданому порядку, існує індексація за допомогою вектору. Доступ до елементів матриці відбувається за допомогою двох індексів – номерів рядка та стовпця, також в круглих дужках після імені матриці. Розміщення елементів матриці в пам’яті визначає ще один спосіб звертання до них. Матриця А розміру m на n зберігається у виді вектору довжиною m, в якому елементи матриці розташовані один за одним, по рядках: [A(1,1) A(1,2) …A(1,n) … A(m,1) A(m,2) …A(m,n)].
Тому, для доступу до елементів матриці можна використовувати лише один індекс, який задає порядковий номер елементу матриці в загальному векторі. Зручним є також спосіб звертання до цілих блоків елементів векторів або матриць. Для цього використовується індексація за допомогою двокрапки – «:». При цьому до двокрапки вказується перший елемент блоку, після – останній. Якщо треба виділити з матриці цілий рядок або стовпець, то в якості одного з індексів слід вказати номер цього рядка, або стовпця, а інший індекс замінити двокрапкою. При виділення блоку до кінця матриці(вектору), можна не вказувати її розміри, а використати елемент end.
Логічні функції над масивами
all Перевірка на наявність нульовогоелементу в масиві.
any Перевірка на наявність ненульового елементу в масиві.
find Знаходження індексів і значень ненульових елементів масивів.
Знищення рядків, стовпців, елементів.
В MatLab парні квадратні дужки – «[]» позначають пустий масив, який дозволяє знищувати стовпці і рядки матриці, або елементи вектору. При цьому розмір результуючої матриці буде менший, ніж вхідної.
Приклади: v=[2 3 4 7 ] v = 2 3 4 7 Утворення вектору «v»
v(1)=[] v = 3 4 7 Знищення першого елементу «v»
m = [2 0 3
1 1 4
6 1 3]
m(1,:)=[] m = 1 1 4
6 1 3 Знищення першого рядка матриці «m»
Створення матриць спеціального виду.
zeros(n,m), zeros(n). Створення матриці нулів
ones(n,m), ones(n). Створення матриці одиниць
eye(n,m) або eye(n) Створення одиничної матриці
rand(n,m) або rand(n) Матриця заповнена випадковим чином між нулемі одиницею.
randn(n,m) або randn(n) Матриця заповнена випадковим чином з нормальним розподілом
diag Створе...