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

      Комментарии к записи Понятие массива. операции с матрицами и массивами отключены

Все данные 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 используется оператор умножения.

Статьи к прочтению:

Самоучитель C++ (21 серия) Visual Studio, Матрицы и многомерные массивы


Похожие статьи:

  • Двумерные массивы (матрицы)

    Для хранения матрицы используется двумерный массив. При вводе матрицы ее можно рассматривать как вектор-столбец из двух элементов, каждый из которых…

  • Многомерные массивы (матрицы)

    1. Дан двумерный массив размерностью 4 6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен…