Понятие массива. Операции с матрицами и массивами

Все данные MATLAB представляет в виде массивов. Массив — упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя.

Массивы различаются по числу размерностей или измерений:

- одномерные,

- двумер­ные,

- многомерные.

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

Вектор, вектор-строка, матрица или тензор являются ма­тематическими объектами, а одномерные, двумерные или многомерные массивы — способы хранения этих объектов в компьютере.

Вектор может быть за­писан в столбик (вектор-столбец) и в строку (вектор-строка).

Ввод, сложение и вычитание векторов

Простой пример работы с векторами – вычисление суммы векторов.

Пусть для хранения векторов используются массивы а и b.

Элементы массива вводятся в квадратных скобках с разделением точкой с запятой (вектор-столбец) или запятой (вектор-строка):

а = [1.3; 5.4; 6.9];

b = [7.1; 3.5; 8.21];

Для нахождения суммы векторов используется знак +.

Результат суммы векторов записывается в массив с:

с = а + b;

Для нахождения разности векторов следует применять знак минус.

Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.

Особенность MATLAB представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Можно использовать оператор присваи­вания:

d = sin(c);

Встроенные в MATLAB элементарные функции приспосабливаются к виду аргументов. Если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива.

 

Обращение к элементам вектора

Доступ к элементам вектора осуществляется при помощи индекса, заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если среди переменных рабочей среды есть массив v, оп­ределенный вектором

v = [1.3, 3.6, 7.4, 8.2, 0.9];

то для обращения, например, к четвертому элементу используется индек­сация:

h = v(4);

В результате переменной h присваивается значение 8.2.

Указание элемента массива в левой части оператора присваивания приво­дит к изменению в массиве. Например, выполнение выражения

v(2) = 555;

приводит к тому, что второму элементу массива v присваивается значение 555.

Из элементов массива можно формировать новые массивы, например:

u = [v(3); v(2); v(1)];

MATLAB предоставляет удобный способ обращения к блокам последова­тельно расположенных элементов вектора. Для этого служит индексация при помощи знака двоеточие. Пусть в задан­ном векторе w из семи элементов требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу:

w(2:6) = 0;

 

Умножение векторов

Вектор можно умножить на другой вектор различными способами:

- поэлементно,

- скалярно (это произведение еще называют внутренним),

- векторно,

- образовать так называемое внешнее произведение.

Результатом скалярного произведения является число, век­торного – вектор, внешнего – матрица, поэлементного – вектор.

Поэлементные операции с векторами

Операция .* приводит к поэлементному умножению векторов одинаковой длины. В результате по­лучается вектор с элементами, равными произведению соответствующих элементов исходных векторов:

u = v1 .* v2;

При помощи .^ осуществляется поэлементное возведение в степень:

р = v1 .^ 2;

Показателем степени может быть вектор той же длины, что и возводимый в степень. При этом каждый элемент первого вектора возводится в степень, равную соответствующему элементу второго вектора.

Деление соответствующих элементов векторов одинаковой длины выполня­ется с использованием . /

d = v1./v2;

Обратное поэлементное деление (деление элементов второго вектора на со­ответствующие элементы первого) осуществляется при помощи .\

К поэлементным относятся и операции с вектором и числом. Сложение век­тора и числа не приводит к сообщению об ошибке. MATLAB прибавляет число к каждому элементу вектора. То же самое справедливо и для вычита­ния.

 

Скалярное произведение

Скалярное произведение векторов а и b длины N, состоящих из действи­тельных чисел, определяется формулой

.

Следовательно, для вычисления скалярного произведения необходимо про­суммировать компоненты вектора, полученного в результате поэлементно­го умножения а на b.

 

Векторное произведение

Векторное произведение a´b определено только для векторов из трехмер­ного пространства, т. е. состоящих из трех элементов. Результатом также является вектор из трехмерного пространства. Для вычисления векторного произведения в MATLAB служит функция cross.

 

Внешнее произведение

Внешним произведением векторов называ­ется матрица размерностью N´M, элементы которой вычисляются по формуле

Вектор-столбец a в MATLAB представляется в виде двумерного массива размера N на один. Вектор-столбец b при транспонировании переходит в вектор-строку размера один на М. Вектор-столбец и вектор-строка есть матрицы, у которых один из размеров равен единице. Фактически , где умножение происходит по правилу матричного произведения. Для вычис­ления матричного произведения в MATLAB используется оператор умножения.

 



php"; ?>