Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основні теоретичні відомості до лр5_6.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.4 Mб
Скачать

Зовнішній добуток

Вектор-стовпчик в MATLAB задається у вигляді двовимірного масиву размера N на один. Вектор-стовпчик b при транспонуванні переходить в вектор-рядок разміру один на М. Вектор-стовпчик і вектор-рядок є матриця, у якій один із размірів дорівнює одиниці. Фактично С = abT , де множення відбувається за правилом матричного добудку. Для обрахунку матричного добутку в MATLAB використовується оператор "зірочка":

MATLAB вивела в командне вікно матрицу в загальному виді — по рядкам. Використовуючи команду whos для перегляду змінних робочого середовіща або вікно Workspase. Числа, вектори і матриці зберігаються в двовимірних масивах числа - в масивах, размірністью один на один, вектор-стовчкики і вектор-рядки містят в масивах, у яких один із розмірів рівний одиниці, а для матриц виділяються двовимерні масиви. Тому операції і вбудовані функції в MATLAB використовуються у вигляді аргументів, видаючи результат у відповідному вигляді.

Двумерные массивы, матрицы

В этом разделе описан ввод матриц, математические операции с ними, поэлементные операции, вычисление функций от элементов матриц, чтение и запись с использованием текстового файла, простейшая визуализация матричных данных.

Введення матриць, прості операції

Різні способи введення

Вводити невеликі за розміром матриці зручно прямо з командного рядка. Введіть матрицю розмірністю два на три.

Для зберігання матриці використовуйте двовимірний масив з ім’ям А. При введенні врахуйте, що матрицю А можна розглядати як вектор-стовпець з двох елементів, кожен з яких є вектор-рядком довжиною три, отже, рядки при наборі відокремлюються крапкою з комою:

Для вивчення найпростіших операцій над матрицями нам знадобиться ще кілька матриць. Розглянемо інші способи введення. Введіть квадратну матрицю розміру три так, як описано нижче:

Почніть набирати в командному рядку

Нажмите клавишу <Enter>. Обратите внимание, что MATLAB ничего не вычислила. Курсор мигает на следующей строке без символа >>. Продолжите ввод матрицы построчно, нажимая в конце каждой строки <Enter>. Последнюю строку завершите закрывающей квадратной скобкой, получается:

Натисніть клавішу <Enter>. Зверніть увагу, що MATLAB нічого не обрахувала. Курсор блимає на наступному рядку без символу >>. Продовжіть введення матриці порядково, натискаючи в кінці кожного рядка <Enter>. Останній рядок завершіть закриваючою квадратної дужкою, виходить:

Ще один спосіб введення матриць полягає в тому, що матрицю можна трактувати як вектор-рядок, кожен елемент якої є вектор-стовпцем.

Наприклад, матрицю два на три можна ввести за допомогою команди:

Подивіться змінні робочого середовища у вікні Workspace або наберіть у командному рядку whos. Отже, в робочому середовищі міститься три матриці, дві прямокутні і одна квадратна.

Доступ до елементів матриць

Доступ до елементів матриць здійснюється за допомогою двох індексів - номерів рядка і стовпця, укладених в круглі дужки, наприклад

Звернення до елементів матриць

Елементи матриць можуть входити до складу виразів:

Розташування елементів матриці в пам’яті комп’ютера визначає ще один спосіб звернення до них. MATLAB зберігає елементи матриці в пам’яті по стовпцях. Елементи qij матриці Q розміру m на n містяться в пам’яті в послідовності:

q11, q21, .., qm1, q12, q22, .., qm2, .., q1n, q2n, .., qmn,

Отже, для доступу до елементів матриці можна використовувати один індекс, задаючий порядковий номер елемента матриці в векторі. Наприклад, елементи матриці С, , записані в такому порядку

С (1, 1), С (2, 1), С (1, 2), С (2, 2), С (1, 3), С (2, 3)

Тому звернення до елементів матриці як до елементів вектора за допомогою одного індексу (індексація за допомогою порядкового номера) призводить до передбачуваному результату але може послужити і джерелом помилок в обчисленнях, якщо один індекс випадково зазначений замість двох - ніякого попередження не виводиться

Як правило, часто краще використовувати два індекси, за винятком деяких спеціальних випадків, наприклад, проходу елементів матриці по стовпцях.

Ще одним способом звернення відразу до всіх елементів матриці, що задовольняє деякому умові, є логічне індексування. Логічне індексування не є необхідним для виконання звичайних операцій матричної алгебри, тому при першому читанні наступний розділ можна пропустити. Однак воно істотно розширює можливості обробки векторних і матричних даних, дозволяючи наочно і компактно записувати вирази з досить складною логікою без програмування перебору даних