Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
18.09.2024
Размер:
347.65 Кб
Скачать

4.2.Операции над векторами Сложение и вычитание векторов.

Поскольку числа в пакете MATLAB представляются в виде двумерного массива один на один, то при сложении векторов используется тот же знак плюс «+» - знак поэлементного сложения, что и для сложения чисел.

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

>> a1=[1 2]

a1 = 1 2

>> a2=[1 2 3]

a2 = 1 2 3

>> a1+a2 % результата не будет, так как матрицы a1 и a2 разной размерности

??? Error using ==> plus

Matrix dimensions must agree.

>> size(a1)

ans = 1 2

>> size(a2)

ans =

1 3

Упражнение 5.

1. Вычислите сумму массивов и , запишите результат в массив  с1,  и выведите все векторы в командное окно.

a = [1.2; 5.3; 6.4]; b = [7.83; 8.72; 9.61];

2. Найдите разность b и a, результат запишите в c2  и выведите его в командное окно.

Поэлементное умножение (операция «.*») и поэлементное возведение в степень (операция «.^») .

1. Операторам «*» и «.*» соответствуют встроенные в MATLAB в ядро функции mtimes() и times(). Первая функция выполняет матричное умножение входных параметров, а вторая их поэлементное умножение. При умножении вектора на скаляр обе функции вернут одинаковый результат. К матричному умножению мы обратимся в последующих модулях.

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

Введем две вектор–строки и перемножим их:

>> u1=[2 -3 4 1]; u2 = [7 5 -6 9];u=u1.*u2

u = 14 -15 -24 9

Проверьте, использование оператора «*» приведет к сообщению об ошибке.

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

>> p=u1.^2

p = 4 9 16 1

Проверьте, использование оператора «^» приведет к сообщению об ошибке.

Умножение и деление вектора на число.

1. Умножать вектор на число можно как справа, так и слева:

>> p1=2*u, p2=u*2

p1 = 28 -30 -48 18

p2 = 28 -30 -48 18

Проверьте, к чему приведет использование оператора «.*»

2. Делить при помощи знака «/»вектор на число можно:

>> v = p/2 

v = 2.0000 4.5000 8.0000 0.5000

Проверьте, к чему приведет использование оператора «./»

!!Попытка деления числа на вектор приводит к сообщению об ошибке:

>> 2/p 

??? Error using ==> mldivide

Matrix dimensions must agree.

Проверьте, к чему приведет использование оператора «2./v»

4.3.Операции над матрицами

Умножение матрицы на число.

Умножение матрицы A на число λ заключается в построении матрицы B, элементы которой получены путём умножения каждого элемента матрицы A на это число λ.

Сложение матриц

Сложение матриц A и B есть операция нахождения матрицы C, все элементы которой равны попарной сумме всех соответствующих элементов матриц A и B.

Комплексное сопряжение

Если элементами матрицы являются комплексные числа, то комплексно сопряжённая матрица состоит из комплексно сопряженных чисел.

Транспонирование матрицы

При транспонировании матрицы строки становятся столбцами.

Эрмитово сопряжение – комплексное сопряжение и транспонирование:

Для матрицы, заданной действительными числами, не комплексными!, операция сопряжения и транспонирования совпадают)

>> A=[2,1]

A =

2 1

>> A.'

ans =

2

1

>> A'

ans =

2

1

>> A=[1-i*2,1]

A =

1.0000 - 2.0000i 1.0000

>> A' % 'эрмитово сопряжение, превратит строку в столбец и "сопряжет" комплексное число

ans =

1.0000 + 2.0000i

1.0000

>> B=[1-i*2 1-i*3;1+i*4,1+i*5;2,3]

B =

1.0000 - 2.0000i 1.0000 - 3.0000i

1.0000 + 4.0000i 1.0000 + 5.0000i

2.0000 3.0000

>> B.'

ans =

1.0000 - 2.0000i 1.0000 + 4.0000i 2.0000

1.0000 - 3.0000i 1.0000 + 5.0000i 3.0000

>> B'

ans =

1.0000 + 2.0000i 1.0000 - 4.0000i 2.0000

1.0000 + 3.0000i 1.0000 - 5.0000i 3.0000

Соседние файлы в папке модуль 1 часть 1