АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Матриці

Читайте также:
  1. Аналіз та оцінка маркетингових можливостей підприємства. Використання матриці Ансоффа.
  2. Базис. Лінійний підпростір. Ранг матриці

Всі змінні в середовищі MATLAB являють собою матриці (або масиви). Так, скаляр (число) в MATLAB є масивом розмірності 1х1, вектор – матрицею з одним рядком або одним стовпчиком.

Матриці можна вводити безпосередньо, наприклад, у командному рядку. Для цього необхідно вказати ім’я матриці, після якого поставити оператор присвоювання та в квадратних дужках послідовно перерахувати всі її елементи. Елементи одного рядка відділяються пробілом або комою, а рядки – крапкою з комою (;).

Приклад В.3.

>> A=[1 2 3; 4 5 6; 7 8 9]

A =

1 2 3

4 5 6

7 8 9

Альтернативний спосіб введення матриці полягає в натисканні клавіші <Enter> (або сполучення клавіш <Shift> + <Enter>) наприкінці кожного рядка.

Безпосереднє введення векторів здійснюється так само, як і введення матриць. При цьому елементи вектор-рядків перераховуються в квадратних дужках через пробіл або кому, а вектор-стовпчиків – через крапку з комою.

Приклад В.4.

>> x=[3 1 2 9]

x =

3 1 2 9

>> y=[15;10]

y =

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

>> ім’я вектора=[початкове значення:крок:кінцеве значення]

Якщо крок дорівнює 1, то його можна не вказувати, і дана команда приймає вигляд:

>> ім’я вектора=[початкове значення:кінцеве значення]

Приклад В.5. Створимо вектор-рядок з використанням оператору двокрапки:

>> z=0:0.2:1

z =

0 0.2000 0.4000 0.6000 0.8000 1.0000

Крок може бути і від’ємним числом, наприклад, в результаті виконання команди

>> u=[10:-2:1];

буде створений вектор .

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

Відмітимо, що з використанням оператора: можна автоматично створювати не лише вектори, а й матриці. Так, команда

>> B=[1:2:7; 8, 2:4; 12:-1:9; 14, 13, 16, 15]

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

B =

1 3 5 7

8 2 3 4

12 11 10 9

14 13 16 15

Крім поелементного введення, можна автоматично створювати матриці спеціального вигляду за допомогою вбудованих функцій. В табл. В.2 наведені деякі з них.

Таблиця В.2

Функції формування спеціальних матриць

Тип матриці Функція для створення
квадратна матриця розміру прямокутна матриця розміру
Матриця з нульовими елементами zeros(n) zeros(m,n)
Матриця з одиничними елементами ones(n) ones(m,n)
Одинична матриця eye(n) eye(m,n)
Матриця випадкових чисел, рівномірно розподілених між нулем та одиницею rand(n) rand(m,n)
Матриця випадкових чисел, розподілених за нормальним законом randn(n) randn(m,n)

Приклад В.6. Створимо нульову матрицю розміром 2х4:

>> C=zeros(2,4)

C =

0 0 0 0

0 0 0 0

Перелічені в табл. В.2 функції можна застосовувати також і для створення векторів, оскільки вектор є матрицею, у якої одна з розмірностей дорівнює одиниці. Наприклад, щоб автоматично створити вектор-рядок з п’ятьма одиничними елементами достатньо в командному рядку записати

>> v=ones(1,5)

v =

1 1 1 1 1

Звернення до елементів векторів і матриць здійснюється за допомогою індексів. Індекси вказуються в круглих дужках після імені матриці або вектора і являють собою порядковий номер елемента (у випадку векторів) або номер рядка та стовпчика, в яких розташований елемент (у випадку матриць), до якого необхідно отримати доступ. В MATLAB нумерація елементів розпочинається з одиниці, відповідно індекси повинні бути більше або дорівнювати одиниці. Наприклад, для звернення до третього елемента деякого вектора x, необхідно записати x(3), а запис A(2,3) означає елемент, що знаходиться на перетині другого рядка та третього стовпчика матриці A. Звертатись до елементів матриць можна, використовуючи всього один індекс. В цьому випадку матриця розглядається як один вектор-стовпчик, сформований послідовно зі стовпчиків початкової матриці. Наприклад, отримати значення елементу, що знаходиться у другому рядку та третьому стовпчику матриці A, можна за допомогою команд A(2,3) або A(8).

В загальному випадку команду для доступу до елемента вектора можна подати у вигляді:

>> ім’я вектора(порядковий номер елемента)

Загальний вигляд звернення до елемента матриці наступний:

>> ім’я матриці(номер рядка,номер стовпчика)

Щоб замінити значення елемента вже створеної матриці на інше, треба вказати ім’я матриці, індекси елемента в круглих дужках, оператор присвоювання та нове значення елемента. Так, команда

>> A(3,1)=cos(pi);

змінює значення елемента, який знаходиться на перетині третього рядка та першого стовпчика матриці A з прикладу В.3 на .

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

При зверненні та присвоєнні деяких значень елементам матриць (векторів), в якості індексів можна використовувати вектори, діапазони або оператор:.

Наприклад, за допомогою виразу A(1:2,1:3) можна виділити підматрицю, що складається з елементів перших двох рядків та перших трьох стовпчиків матриці A з прикладу В.3:

>> A(1:2,1:3)

ans =

1 2 3

4 5 6

Якщо при зверненні до елементів матриці замість одного з індексів вказано оператор:, то це означає що треба виділити весь рядок або стовпчик. Так, запис A(3,:)означає третій рядок матриці A:

>> A(3,:)

ans =

7 8 9

Ще один спосіб виділення підматриць полягає у використанні векторів в якості індексів. Наприклад, щоб отримати значення елементів матриці A, що розташовані в другому рядку, в першому і третьому стовпчику, можна записати:

>> A(2,[1 3])

ans =

4 6

Об’єднання матриць (векторів) з однаковою кількістю рядків “по горизонталі” відбувається так: [A B C]; “по вертикалі” – [A; B; C] (матриці A, B і C повинні мати однакову кількість стовпчиків). Зауважимо, що команди об’єднання матриць (векторів) можуть містити довільну кількість імен матриць (векторів).


1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)