logo
Шпора по КТ

22. Операции с векторами и матрицами в системе mathlab.

Массив – упорядоченная, пронумерованная совокупность однородных данных, имеющая одно имя. Доступ к отдельным элементам массива осуществляется по целочисленному индексу, то есть по номеру элемента в массиве. В зависимости от количества индексов, определяющих положение элемента в массиве, массивы разделяют на одномерные (вектора-строки, вектора-столбцы), двумерные (матрицы) и многомерные.

MatLab представляет все данные в виде массива, даже число – это двумерный массив с размерностью один на один.

Работа с векторами.

Вектора - это одномерные (линейные) числовые наборы чисел, в которых позиция каждого элемента задается единственным числом – его номером.

Задание векторов

>> a1=[3 4 9 2] – вектор-строка

>> a1=[3, 4, 9, 2] – вектор-строка

>> a1=[3; 4; 9; 2] – вектор-столбец

Доступ к элементам вектора осуществляется заданием его индекса в круглых скобках после имени.

Задание векторов с помощью операции «:». Пусть требуется сформировать одномерный массив чисел в диапазоне от 3.7 до 8.947 с приращением 0.3. Это легко достигается с помощью оператора «двоеточие». С помощью функции length можно определить, сколько элементов попало в вектор.

>> mas=3.7:0.3:8.947;

>> length(mas)

ans =

18

Применение функций обработки данных к векторам

prod Перемножение элементов вектора

length Определение числа элементов вектора

sum Суммирование элементов вектора

abs Определение модуля элементов вектора

min Определение минимального элемента вектора

max Определение максимального элемента вектора

sort Упорядочивание вектора по возрастанию

mean Вычисление среднего арифметического вектора

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

Чтобы выполнить поэлементное умножение, деление, возведение в степень векторов, используют следующие знаки «.*», «./» «.^» (без пробелов!). В результате получается тоже вектор.

Умножение деление вектора на число делается с помощью обычных знаков «*» «/» без точки.

Ввод матриц, простейшие операции

Для хранения матриц в системе MatLab используются двумерные массивы, имеющие уникальное имя. Доступ к элементам массива осуществляется при помощи двух индексов: номера строки и номера столбца, указанных в круглых скобках, например c(2,3), или с помощью одного индекса, например с(1), который задает порядковый номер элемента матрицы в векторе, так как матрица А размером m на n в памяти компьютера хранится в виде вектора длины mn, в котором элементы матрицы расположены один за другим построчно.

В системе MatLab вектора представляются в виде вектор-строки и вектор-столбца. Ввод таких векторов оформляется по-разному:

>> a1=[3 4 9 2] – вектор-строка

>> a1=[3, 4, 9, 2] – вектор-строка

>> a1=[3; 4; 9; 2] – вектор-столбец,

поэтому и матрицы небольших размерностей можно ввести либо:

по строкам

>> a=[3 1 -1;2 4 3]

a =

3 1 -1

2 4 3

либо по столбцам

>> a=[[3;2] [1;4] [-1;3]]

a =

3 1 -1

2 4 3

Для того, чтобы узнать размеры двумерного массива и «геометрию» векторов (вектор-столбцы или вектор-строки), нужно использовать функцию size.

>> size(a)

ans =

2 3

Первым показывается число строк, вторым – число столбцов.

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

Вычисления с массивами

Над массивами одинаковых размеров допускаются операции сложения (+) и вычитания (-).

Для поэлементного перемножения и деления массивов используются знаки «.*» и «./» (правое поэлементное деление).

Есть еще левое поэлементное деление. Знак «\.». Разница между ними такова

A ./ B

A .\ B

A(k,m) / B(k,m)

B(k,m) / A(k,m)

Привычные знаки «*» и «/» предназначены в системе MatLab для других операций: «*» в линейной алгебре, а «/» для нахождения корней систем линейных уравнений. Транспонирование матрицы, так же как и векторов производится с помощью символов «.’».