Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
109
Добавлен:
18.12.2017
Размер:
143.15 Кб
Скачать
    1. Операции над векторами Сложение и вычитание векторов.

Поскольку числа в пакете 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»

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

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

Умножение матрицы 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

Соседние файлы в папке Лабораторные работы