Автор работы: Пользователь скрыл имя, 25 Ноября 2014 в 22:06, реферат
Живучи в сучасному світі освічені люди повсякчас стикаються з необхідністю оперувати великою кількістю однотипних даних, отриманих в ході лабораторних і практичних робіт. Тобто постає необхідність лаконічного, чіткого, логічного опрацювання цих даних по заданому шаблону без, відповідно, роботи з кожним елементом окремо. Саме цю задачy допомагають вирішити матриці або так звані масиви даних. Крім того неможна уявити сучасний науковий світ без розв’язку рівнянь, що описують переважну більшість оточуючого нас. Середовище MATLAB(як мінімум) дозволяє швидко та зручно оперувати над матрицями і розв’язувати складні системи лінійних рівнянь, що буде представлено в даній роботі
Вступ.
Особливості матриць в MATLAB.
1. Введення матриць
1.1Введення з клавіатури.
1.2.Завантаження з інших джерел.
2. Доступ до елементів матриці.
3. Операції над матрицями(додавання, транспонування, множення, тощо).
3. Операції над матрицями(векторами).
3.1. Дії над векторами.
3.1.1 Векторні дії над векторами.
3.1.2.Діїї поелемнтного перетворення векторів.
3.2.Дії над матрицями.
3.2.1.Поелементне перетворення матриць.
3.2.2.Матричні дії з матрицями.
3.2.3.Матричні функції.
4.Спеціальні функції, що генерують найпоширеніші матриці.
Висновки.
Національний технічний університет України
«Київський політехнічний інститут»
Факультет електроніки
Кафедра промислової електроніки
Реферат
з курсу
«Інформаційні технології-1»
тема роботи: «робота з матрицями»
Виконав: студент гр. ДС-32 Онищенко Олександр
Прийняв: викладач Волківський В.Б 2014 р
київ-2014
Вступ.
Особливості матриць в MATLAB.
1. Введення матриць
1.1Введення з клавіатури.
1.2.Завантаження з інших джерел.
2. Доступ до елементів матриці.
3. Операції над матрицями(додавання, транспонування,
множення, тощо).
3.
Операції над матрицями(
3.1. Дії над векторами.
3.1.1 Векторні дії над векторами.
3.1.2.Діїї
поелемнтного перетворення
3.2.Дії над матрицями.
3.2.1.Поелементне перетворення матриць.
3.2.2.Матричні дії з матрицями.
3.2.3.Матричні функції.
4.Спеціальні функції, що генерують найпоширеніші матриці.
Висновки.
Живучи в сучасному світі освічені люди повсякчас стикаються з необхідністю оперувати великою кількістю однотипних даних, отриманих в ході лабораторних і практичних робіт. Тобто постає необхідність лаконічного, чіткого, логічного опрацювання цих даних по заданому шаблону без, відповідно, роботи з кожним елементом окремо. Саме цю задачy допомагають вирішити матриці або так звані масиви даних. Крім того неможна уявити сучасний науковий світ без розв’язку рівнянь, що описують переважну більшість оточуючого нас. Середовище MATLAB(як мінімум) дозволяє швидко та зручно оперувати над матрицями і розв’язувати складні системи лінійних рівнянь, що буде представлено в даній роботі
1. Особливості матриць в MATLAB
Почнемо з того, що сама назва MATLAB інкапсулює в собі два слова - matrix laboratory, з англійського – матрична лабораторія. Тому можна припустити, що в середовищі дійсно широкі можливості для оперування матрицями, для дій над ними, введенням тощо. Найголовніше – це те, що кожне число в середовищі це матриця 1х1. З цього формуються всі інші особливості MATLAB, що будуть розглянуті нижче.
1.1.Введення матриць .
1.1.1.Введення
з клавіатури
Вихідні
значення векторів можна задавати з клавіатури
шляхом поелементного введення. Для цього
в рядку треба спочатку вказати ім’я вектора,
потім поставити знак присвоювання = ,
потім ліву квадратну дужку, а за нею ввести
задані значення елементів вектора, відокремлюючи
їх одне від одного пробілами або комами.
Завершується рядок правою квадратною
дужкою. Наприклад, введення рядка V = [1.2
-0.3 1.2e-5] задає вектор V, що містить три елементи
зі значеннями 1.2, -0.3, 1.2e-5:
>> V=[1.2 -0.3 .2e-5]
V =1.2000 -0.3000 0.0000
Після введення вектора система виводить його на екран. Те, що в наведеному прикладі останній елемент виведений як нуль, зумовлено встановленим форматом Short відповідно до якого дані виводяться на екран.
Вектор-стовпець вводиться аналогічно, але значення елементів у переліку відокремлюються знаком “крапка з комою” .
Комбінуючи стовпці та рядки можна створити двовимірний масив – матрицю:
Ще один спосіб введення матриць полягає в тому, що матрицю можна трактувати як вектор-рядок, кожен елемент якої є вектор-стовпцем. Наприклад, матрицю два на три
можна ввести за допомогою команди:
С = [[3; 4] [-1; 2] [7; 0]]
С =
3 -1 7
4 2 0
Для вивчення найпростіших операцій над матрицями наведемо ще приклад. Розглянемо інший спосіб введення. Введіть квадратну матрицю розміру три так, як описано нижче:
.
Почніть набирати в командному рядку
» = [4 3 -1
Натисніть клавішу <Enter>. Зверніть увагу, що пакет нічого не рахував. Курсор блимає на наступному рядку без символу ». Продовжуйте введення матриці по рядках, натискаючи наприкінці кожного рядка <Enter>. Останній рядок завершіть закриває квадратної дужкою, виходить [2]:
»
2 7 0
-5 1 2]
1.1.2.
Завантаження матриць з інших джерел
Один із зручних способів введення матриць це завантаження з інших джерел, таких як таблиці або навіть із звичайних текстових документів, де матриця введена за допомогою пробілів(рядок) та «ентерів»(стовпець). Для цього необхідно перемістити «джерело» в робочу директорію або ж вибрати необхідну та імпортувати за допомогою функції load .
Рис.1. Завантаження матриці з текстового документа
2. Доступ до елементів матриці
Доступ до елементів матриць здійснюється за допомогою двох індексів номерів рядка та стовпчика, укладених в дужки, наприклад
Елементи матриць можуть входити до складу виразів:
Розташування елементів матриці в пам'яті комп'ютера визначає ще один спосіб звернення до них. Матриця розміру m n зберігається у вигляді вектора довжини mn, в якому елементи матриці розташовані один за одним по стовпцях
[А(1,1) А(2,1) ... А(m,1) ... А(1,n) А(2,n) ... А(m,n)].
Для доступу до елементів матриці можна використовувати один індекс задає порядковий номер елемента матриці у векторі[2].
Доступ до декількох елементів або відповідно певного рядка чи стовпця матриці відбувається наступним чином:
Вибираємо 2-й рядок, та 3-й стовпець матриці B:
Для видалення відповідного рядка необхідно лиш прирівняти вибрану матрицю(адже будь який вектор довжиною m це матриця розміром m*1 або 1*m ) до пустого масиву. Наприклад так ми видалимо третій стовпець матриці B:
Комбінуючи різні способи вибору елементів матриці можна видаляти різноманітні їх комбінації. Аналогічно можна замінити будь який елемент на інший:
Як бачимо ми замінили елемент на пересіченні 2-го рядка та 3-го стовпця на число π.
Важливо також зазначити, що вираз diag(B) виокремлює головну діагональ матриці B :
3. Операції над матрицями(векторами)
3.1. Дії над векторами
Розрізняють дві групи дій над векторами: векторні дії, що передбачені векторним численням у математиці; дії щодо перетворення елементів такі, що перетворюють елементи вектора, але не є операціями з векторами, що існують у математиці.
3.1.1 Векторні дії над векторами
Додавання векторів. Складати (підсумовувати) можна тільки вектори однакового типу, тобто обидва вектори повинні бути або векторами-рядками, або векторами-стовпцями і мати однакову довжину (однакову кількість елементів). Якщо X і Y саме такі вектори, то їхню суму можна одержати, якщо ввести команду Z=X+Y. Аналогічно за допомогою арифметичного знака мінус (-) здійснюється віднімання векторів, що мають однаковий тип: Z=X-Y.
Транспонування вектора здійснюється застосуванням знака апострофа, що записується відразу за записом імені транспонованого вектора: Х´.
Множення вектора на число здійснюється в MATLAB за допомогою знака арифметичного множення (*) у такий спосіб: Z=X*r або Z=r*X, де r - деяке дійсне число. Множення двох векторів визначено в математиці тільки для векторів однакової довжини тоді, коли один з векторів-співмножників є рядком, а другий -стовпцем. Інакше кажучи, якщо вектори Х та Y є рядками, то математичний зміст мають тільки дві форми множення цих векторів: U=X´*Y і V=X*Y´. Причому в першому випадку результатом буде квадратна матриця (діада), а в другому - число. У MATLAB множення векторів здійснюється з використанням звичайного знака множення (*), що записується між співмножниками-векторами.
Для трикомпонентних векторів у MATLAB існує функція cross, що дозволяє знайти векторний добуток двох векторів. Якщо задані два трикомпонентних вектори v1 і v2, то для цього досить ввести оператор cross(v1,v2).
3.1.2.Дії з поелементного перетворення векторів
У мові MATLAB є ряд операцій, що перетворять заданий вектор в інший того ж розміру і типу, але вони не є математичними операціями з вектором як математичним об’єктом. Ці операції перетворюють елементи вектора як елементи звичайного одновимірного масиву чисел. До таких операцій належать всі елементарні математичні функції, що залежать тільки від одного аргументу. У мові MATLAB запис виду Y=sin(X), де Х - деякий відомий вектор, приводить до формування нового вектора Y, що має той же тип і розмір, але елементи якого дорівнюють синусу відповідних елементів вектора-аргументу Х.
Крім вказаних операцій у MATLAB передбачено кілька операцій поелементного перетворення, що здійснюються за допомогою знаків звичайних арифметичних дій. Ці операції застосовуються до векторів однакового типу і розміру. Результатом їх є вектор того ж типу і розміру.
Додавання числа до кожного елемента вектора. Здійснюється за допомогою знака плюс (+). Протилежна дія - віднімання числа від кожного елемента вектора (-).
Поелементне множення векторів. Виконується за допомогою сукупності знаків крапка та зірочка (.*), що записується між іменами векторів, які треба перемножити. Результатом буде вектор, кожен елемент якого є добутком відповідних елементів векторів-співмножників.
Поелементне ділення векторів. Здійснюється за допомогою сукупності знаків крапка та слеш (./). Результат - вектор, кожен елемент якого є часткою від ділення відповідного елемента першого вектора на відповідний елемент другого вектора.
Поелементне ділення векторів у зворотному напрямку (справа наліво). Здійснюється за допомогою сукупності знаків крапка та зворотний слеш (.\). Результатом є вектор, кожен елемент якого є часткою від ділення відповідного елемента другого вектора на відповідний елемент першого вектора.
Поелементне піднесення до степеня. Здійснюється за допомогою сукупності знаків “.^”. Результат - вектор, кожен елемент якого є відповідним елементом першого вектора, піднесеним до степеня, показником якого є значення відповідного елемента другого вектора.
Наведені операції дозволяють дуже просто обчислювати значення (а потім - будувати графіки) складних математичних функцій, не використовуючи при цьому оператори циклу, тобто робити побудову графіків у режимі калькулятора. Для цього досить задати значення аргументу як арифметичну прогресію, потім записати потрібну функцію, використовуючи знаки поелементного перетворення векторів.
Наприклад, потрібно обчислити значення функції y=a*e-hx*sin(x) для значень аргументу х від 0 до 10 з кроком 1. Обчислення масиву значень цієї функції за такої умови можна здійснити за допомогою тільки двох простих операторів:
Рис.2. Обчислення значення функції
3.2.Дії над матрицями.
3.2.1.Поелементне перетворення матриць
Для поелементного перетворення матриці придатні всі алгебраїчні функції. Кожна така функція формує матрицю того ж розміру, що і задана, кожен елемент якої обчислюється як зазначена функція від відповідного елемента заданої матриці. Крім того, у MATLAB визначені операції поелементного множення матриць однакового розміру (за допомогою символів “.*”, що поміщаються між іменами матриць, що “перемножуються”), поелементного ділення в обох напрямках (“./” і “.\”), поелементного зведення в ступінь (символ “.^”), коли кожен елемент першої матриці підноситься до степеня, показник якого дорівнює значенню відповідного елемента другої матриці.
Оригінальною в мові MATLAB є операція додавання до матриці числа. Вона записується так: А+х або х+А (де А – матриця, а х – число). Такої операції немає в математиці. У MATLAB вона еквівалентна сукупності операцій А+х*Е, де Е – позначення матриці тих же розмірів, що і матриця А, яка складається тільки з одиниць.
3.2.2.Матричні дії з матрицями
До матричних дій з матрицями належать такі операції, що використовуються в матричному численні в математиці.
Базові дії з матрицями – додавання, віднімання, транспонування, множення матриці на число, множення матриці на матрицю, піднесення матриці до цілого степеня – здійснюються в мові MATLAB за допомогою звичайних знаків арифметичних операцій.
Умови, за яких ці операції можливі:
1) при
додаванні або відніманні
2) при
множенні матриць число
Невиконання цих умов приведе до появи в командному вікні повідомлення про помилку.
Функція обернення матриці – inv(A) – обчислює матрицю, обернену заданій матриці А. Вихідна матриця А повинна бути квадратною, і її визначник не повинен дорівнювати нулю.
Піднесення матриці до степеня позначається в MATLAB за допомогою комбінації знаків “.^” (наприклад, A.^n). При цьому n повинне бути цілим (додатним або від’ємним) числом. Ця матрична операція еквівалентна множенню матриці А на себе n раз (якщо n – додатне) або множенню оберненої матриці на себе (в разі від’ємного n).