Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Арифметические операции над массивами↑ ⇐ ПредыдущаяСтр 5 из 5 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Основные математические функции Напомним, что все данные в системе MATLAB – массивы. Все операции над массивами реализуются посредством функций. С каждой из традиционных операций (с умножением, делением и возведением в степень) связаны по две функции «*», «.*», «/», «./», «^», «.^». «Список этих функций приведен в табл. 3 см. в help MATLAB раздел «Arithmetic Operators.» а также. Л.1 стр. 27). Серым цветом выделены функции, которыми будем пользоваться по мере изучения соответствующих понятий в курсе линейной алгебры.
Ни правым «/», ни левым «\» делением в смысле матричного деления мы пользоваться непосредственно не будем. Операции над векторами Сложение и вычитание векторов. Поскольку числа в пакете 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»
Операции над матрицами Умножение матрицы на число. Умножение матрицы A на число λ заключается в построении матрицы B, элементы которой получены путём умножения каждого элемента матрицы A на это число λ. Сложение матриц Сложение матриц A и B есть операция нахождения матрицы C, все элементы которой равны попарной сумме всех соответствующих элементов матриц A и B. Комплексное сопряжение Если элементами матрицы являются комплексные числа, то комплексно сопряжённая матрица состоит из комплексно сопряженных чисел. Транспонирование матрицы При транспонировании матрицы строки становятся столбцами. Эрмитово сопряжение – комплексное сопряжение и транспонирование: Для матрицы, заданной действительными числами, не комплексными!, операция сопряжения и транспонирования совпадают)
>> A=[2,1] A = 2 1 >> A.' ans = >> A' ans = >> 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 Умножение матриц Умножение матриц A и B – есть операция вычисления матрицы C=AB, элементы которой равны сумме произведений элементов в соответствующей строке первого множителя и столбце второго. Количество столбцов в матрице A должно совпадать с количеством строк в матрице B. Если матрица A имеет размерность m x n, матрица B имеет размерность n x p, то размерность их произведения, матрицы C=AB, будет m x p. Операция матричного умножения «*» двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором; в этом случае говорят, что форма матриц согласована. В частности, умножение всегда выполнимо, если оба сомножителя - квадратные матрицы одного и того же порядка. Следует заметить, что из существования произведения AB вовсе не следует существование произведения BA.
Упражнение 6. Выполнить в тетради + MATLAB. Для матриц , , c=2, D1=ones(2,3), D2=ones(3,2),E1=eye(2,3), E2=eye(3,2), E3=eye(3), (ввести символьно соответствующие элементы: syms a11 a12 итд.), осуществить операции: A' % эрмитово сопряжение A.' % транспонирование B' % эрмитово сопряжение B.' % транспонирование % умножение на число: A1 = 2*A, A2=A*3, A3=4.*A, A4=A*.5 % сложение матриц: C1 = A+B, C2=A+D2, C3=B+D1, C4=A+E2, C5=B+C1 %умножение матриц: % что меняет умножение квадратной матрицы на единичную E? F1 = A*B, F2=B*A, F3=B' *A'б F4=E2*B, F5=A*E1, F=F1*F1*F1 F6=F1*E3, F7=E3*F1 % поэлементное умножение матриц: C = A.*D2 % возведение матрицы А в степень, (то же что и B=A*A, выполнимо только для квадратных матриц) A^2 % невыполнимо F1^2 % выполнимо A.^2 % возведение каждого элемента матрицы А в степень
|
|||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 1651; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.137.10 (0.009 с.) |