Способы задания векторов

 

Вектор – это одномерный массив данных. Вектор в ML – это матрица из одного столбца или одной строки. Соответственно вектор может быть вектором-столбцом или вектором-строкой.

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

1. Можно задать значения вектора поэлементно:

<имя пер.>=[<значение1> <значение2> ….<значениеN>]

Например,

>>P=[3 5 7 12]

Значения элементов записываются через пробел или через запятую.

В результате выполнения этой команды создается вектор-стро-ка:

P =

3 5 7 12

 

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

 

<<A=[1; 2; 3]

A=

 

2. Если элементы вектора являются арифметической прогрессией, то можно задать вектор так:

<имя пер.>=<нач. значение>:<шаг>:<конечное значение>

Например,

>>X=0 : 0.5: pi

В результате будет сформирован вектор со значениями:

X =

0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000

Шаг должен быть больше нуля. Если он равен единице, то его можно не указывать:

>>Х = 1 : 10

X =

1 2 3 4 5 6 7 8 9 10

Чтобы изменить форму вектора, надо записать Х’ – тогда вектор отобразится в виде столбца. Такая операция называется транспонированием.

Например,

>> X=1:1:5

X = 1 2 3 4 5

>> X'

ans =

3. Также для формирования арифметической прогрессии можно использовать функцию linspace:

linspace (<нач. значение>,<кон. значение>,<кол. значений>)

Например,

>>B=linspace(0,pi,5)

B =

0 0.7854 1.5708 2.3562 3.1416

4. Вектор можно задать также путём объединения нескольких векторов.

Например,

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

D =

1 2 3 4 5 6 7 8 9

Для определения длины вектора предназначена функция length:

>> l=length(D)

l =

Для доступа к элементу вектора необходимо указать его имя и в круглых скобках номер элемента. Например, D(3). Для обращения к последнему элементу вектора можно записать: D(length(D)) или D(end).

 

Задание матриц

 

При задании матриц данные строк записываются через пробел или через запятую. Элементы разных строк разделяются знаком точка с запятой (;) или записываются с новой строки. В ML матрица хранится в порядке следования по столбцам.

Зададим матрицу:

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

A =

1 2 3

4 5 6

7 8 9

или

>> A=[1 2 3

4 5 6

7 8 9]

A =

1 2 3

4 5 6

7 8 9

Обращение к элементу матрицы: <имя> (<индексы>), например, А(2,3).

 

Операции

 

В MLможно не только выполнять обычные арифметические операции над числами и вычислять значения функций, но и производить операции над векторами и матрицами.

Арифметические операции (АО)

К арифметическим операциям в ML относятся: cложение (+), вычитание (-), умножение (*), деление (/), обратное деление (\),возведение в степень(^), транспонирование (‘).

Приоритеты АО:

· возведение в степень, транспонирование;

· умножение, деление;

· сложение, вычитание.

Все арифметические операции являются “матричными” и осуществляются по правилам линейной алгебры.

При необходимости поэлементного выполнения операций над матрицами и векторами перед знаками операций ^, *, /, \ следует ставить точку:

 

>> X=[1 2 3 4];

>> X.^2

ans =

1 4 9 16

В данном случае каждый элемент исходного вектора возводится в квадрат. Выполнение команды X ^ 2 невозможно, так как это противоречит правилам матричной алгебры.

Транспонирование тоже бывает с точкой, тогда для комплексных чисел оно выполняется без комплексного сопряжения.

При выполнении арифметических операций с матрицами необходимо учитывать их размерность.

Каждой арифметической операции в ML соответствует определенная функция. Например, plus(x,y) – сложение массивов, times(x,y) – поэлементное умножение массивов, mtimes(x,y) – матричное умножение и т.д.:

 

>> 2+3

ans =

>> plus(2,3)

ans =

>> X=[1 2 3 4];

>> Y=[5 6 7 8];

>> times(X,Y)

ans =

5 12 21 32

>> X.*Y

ans =

5 12 21 32

 

Выполнение арифметических операций с матрицами будет подробно рассмотрено далее.

Операции отношения

К операциям отношения в ML относятся: равно (= =),не равно (~ =),меньше(<),меньше или равно (<=), больше (>), больше или равно (>=).

Операции отношения используются для поэлементного сравнения двух операндов (чисел, матриц, векторов одинакового размера). Результатом операции отношения может быть соответственно число, матрица или вектор, состоящие из элементов,
обозначающих «истина» или «ложь». В ML это 1 и 0 соответственно:

>>A=[1 0 3; -2 5 -6];

>> B=[8 -9 1; 7 2 2];

>> A>B

ans =

0 1 1

0 1 0

 

В результате получили матрицу, каждый элемент которой имеет значение «истина» или «ложь»:

 

>> x=1; y=2; z=3;

>> ((x+y)==z)+(y<z)+(x<=y)

ans =

 








Дата добавления: 2016-03-05; просмотров: 2115;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.