Скалярное произведение векторов matlab

К матричным действиям с матрицами относятся такие операции, которые используются в матричном исчислении в математике. Базовые действия с матрицами (векторами): сложение, вычитание, транспонирование, умножение матрицы на число, умножение матрицы на матрицу, возведение квадратной матрицы в степень – осуществляются в MATLAB с помощью обычных знаков арифметических операций. Условия, при которых эти операции возможны, таковы:

при сложении или вычитании матриц они должны иметь одинаковые размеры;

при умножении матриц число столбцов первого множителя должно совпадать с числом строк второго множителя.

Невыполнение этих условий приводит к появлению сообщения об ошибке.

Приведем примеры базовых действий с матрицами

>> A=[0 -2 4;3 2 1];D=[-5 4 2;1 3 1];B=[-1 -2 -3;1 3 1;0 2 2];

Пример сложения и вычитания

Пример умножения на число

Пример транспонирования матрицы, при котором ее строки становятся столбцами, а столбцы – строками, осуществляется с помощью оператора (апостроф):

В математике транспонированная матрица А обозначается А Т .

Знак закреплен за матричным умножением векторов и матриц в смысле линейной алгебры. При этом число столбцов первой матрицы обязано равняться числу строк второй матрицы. Произведение прямоугольной матрицы An×k (таблицы чисел, расположенных в n строках и в k столбцах) на матрицу Bk×m определяется следующим образом: для того, чтобы получить элемент cij матрицы – произведения C = AB, следует элементы i – й строки матрицы А умножить на соответствующие элементы j – го столбца матрицы В и результаты сложить, т. е.

Матрица С = Сn×m занимает n строк и m столбцов.

Пример умножения матрицы на матрицу

Умножение двух векторов определено в математике только для векторов одинакового размера и лишь тогда, когда один из векторов сомножителей является строкой, а второй – столбцом. Иначе говоря, если векторы Х и У являются строками, то математический смысл имеют только две формы умножения этих векторов: U = X*Y’ и V = X’*Y. Причем в первом случае результатом будет скалярное произведение векторов Х и У (число), а во втором – внешнее произведение векторов Х и Y (квадратная матрица).

Скалярное произведение двух векторов вычисляет команда dot:

Векторное произведение. Для трехкомпонентных векторов в MATLAB существует команда cross, которая вычисляет векторное произведение двух векторов.

Командаdet(B) вычисляет определитель│B│ квадратной матрицы B.

Команда обращения матрицы inv(B) вычисляет матрицу В -1 , обратную заданной матрице B. Исходная матрица B должна быть квадратной, и ее определитель не должен быть равен нулю.

-0.6667 0.3333 -1.1667

0.3333 0.3333 0.3333

-0.3333 -0.3333 0.1667

Матрица, обратная матрице В, обозначается В -1 и удовлетворяет соотношениям (В -1 ) -1 = B, ВВ -1 = В -1 В = E, где E – единичная матрица того же порядка n, что и B.

Читайте также:  Проверка скорости интернета через командную строку

Проверим правильность выполнения операции обращения матрицы B:

-1.0000 -2.0000 -3.0000

1.0000 3.0000 1.0000

В результате получили матрицу B, т. е. соотношение (В -1 ) -1 = B выполняется.

-0.0000 1.0000 -0.0000

Соотношения ВВ -1 = В -1 В = E также выполняются.

Примеры возведения квадратной матрицы в степень

-0.6667 0.3333 -1.1667

0.3333 0.3333 0.3333

-0.3333 -0.3333 0.1667

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

Если требуется извлечь квадратный корень из матрицы, то лучше применить матричную функцию sqrtm. Матричные экспонента и логарифм вычисляются при помощи матричных функций expm и logm.

В MATLABвводятся две новых операции (они не относятся к операциям линейной алгебры) деления матриц слева направо и справа налево. Первая операция записывается при помощи знака , а вторая – при помощи знака , которые помещаются между именами двух матриц – делимого и делителя. Операция B/A эквивалентна операции B*inv(A) и ее удобно использовать для решения матричного уравнения

а AB эквивалентна inv(A)*B и является решением матричного уравнения

Поэлементные действия с матрицами не являются операциями линейной алгебры, они лишь преобразуют элементы матрицы как элементы обычного двумерного массива.

Как правило, если f является одной из встроенных математических функций системы MATLAB или является заданной пользователем векторизованной функцией, то выражение f(A) представляет собой матрицу, полученную поэлементным вычислением f для A.

0.8415 0.9093 0.1411

Кроме поэлементного преобразования матриц с помощью математических функций, в MATLAB можно выполнять поэлементные преобразования матриц с помощью арифметических операций. К таким операциям относятся операции поэлементного умножения с помощью оператора (без пробела между точкой и звездочкой), поэлементного деления , обратного поэлементного деления , поэлементного возведение в степень . Операции поэлементного преобразования матриц выполняются только над матрицами одинакового размера и типа. В результате получается матрица такого же размера и типа. Проиллюстрируем поэлементные преобразования матриц на матрицах A и B:

>> A=[1 2 3 4 5;-2 3 1 4 0], B=[-1 3 5 -2 1;1 8 -3 -1 2]

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

-1.0000 0.6667 0.6000 -2.0000 5.0000

-2.0000 0.3750 -0.3333 -4.0000 0

Результат – матрица, элементы которой являются частным от деления соответствующих элементов матриц A и B.

Обратное поэлементное деление

Warning: Divide by zero.

-1.0000 1.5000 1.6667 -0.5000 0.2000

-0.5000 2.6667 -3.0000 -0.2500 Inf

Результатом является матрица, элементы которой являются частным от деления соответствующих элементов матриц B и A.

Поэлементное возведение в степень

0.0010 0.0080 0.2430 0.0001 0.0050

Читайте также:  Ситигид не показывает пробки

-0.0020 6.5610 0.0010 0.0003 0

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

Обратим внимание на результат, полученный при выполнении операции A.^B. Система MATLAB выделила общий множитель 1.0e+003 * для всех элементов результирующей матрицы.

Оригинальной в MATLAB является операция прибавления к матрице числа. Она записывается таким образом: A+x или x+A (где A – матрица, а x – число). Такая операция также не относится к операциям линейной алгебры. Например:

При поэлементном возведении в степень показателем степени может быть не только матрица того же размера, что и исходная, но и число:

В MATLAB поэлементные операции над векторами аналогичны поэлементным операциям над матрицами.

Таким образом, система MATLAB является совершенным инструментом для работы с массивами. MATLAB позволяет выполнять мощные групповые вычисления над массивами, используя обычные математические операторы и функции. В традиционных языках программирования математические действия производятся только над скалярами. Матричные команды MATLAB чрезвычайно компактны по записи, но выполняют гигантский объем работы. Более того, матричные вычисления в MATLAB выполняются значительно быстрее, чем скалярные.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студента самое главное не сдать экзамен, а вовремя вспомнить про него. 10228 – | 7590 – или читать все.

91.146.8.87 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Для того, чтобы оценить ресурс, необходимо авторизоваться.

Пособие представляет собой руководство к выполнению лабораторных работ по курсу "Математические пакеты в решении инженерных задач". Каждая лабораторная работа содержит краткое описание методов вычислений, примеры, порядок выполнения лабораторной работы, задания, контрольные вопросы.

Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MATLAB 7 — СПб.: БХВ-Петербург, 2005. — 1104 c.
ISBN 5-94157-494-0
Скачать (прямая ссылка): matlab72005.pdf Предыдущая 37 38 39 40 41 42 .. 349 >> Следующая

осуществляет построение первого графика сплошной черной линией, а второго ¦— черной пунктирной (рис. 2.6). Аргументы ‘к-‘ и ‘к: ‘ задают стиль и цвет первой и второй линий. Здесь к означает черный цвет, а дефис или двоеточие — сплошную или пунктирную линию. Визуализация данных и построение графиков подробно описаны в следующих главах. Окно с графиком можно закрыть, нажав на кнопку закрытия окна в его правом верхнем углу. J 74

Часть I, Основы работы в MATLAB

Рис. 2.5. Два графика на Одних осях

Рис. 2.6. Изменение стили и цвета линий графиков

Читайте также:  Программа для проектирования кухонной мебели

Построение графиков функций в MATLAB требует понимания работы с векторами — необходимо уметь вводить векторы, использовать двоеточие для автоматического заполнения с заданным шагом, применять поэлементные операции для вычисления функций от Вектора значений аргумента. Все Глава 2. Работа с массивами

эти вопросы были разобраны выше. Две следующие главы посвящены более детальному использованию графических средств пакета. Перейдем теперь к умножению векторов.

Вектор можно умножить на другой вектор скалярно (это произведение еще называют внутренним), векторно, или образовать так называемое внешнее произведение. Результатом скалярного произведения является число, векторного — вектор, а внешнего — матрица.

Скалярное произведение векторов а и Ь длины N , состоящих из действительных чисел, определяется формулой

Следовательно, для вычисления скалярного произведения необходимо просуммировать компоненты вектора, полученного в результате поэлементного умножения а на b, т. е. надо использовать функцию sum и поэлементное умножение. Найдите самостоятельно скалярное произведение векторов

" І.2 " ‘ 4.1 "
а = -3.2 ; Ь = 6.5
0.7 -2.9

Ниже приведена требуемая последовательность команд: » а = [1.2; -3.2; 0.7]; » Ъ = [4.1; 6.5; -2.9]; » s = sum

Скалярное произведение векторов можно также вычислить, применив функцию MATLAB dot

Найдите длину (или, как еще говорят, модуль) вектора а

Часть I, Основы работы в MATLAB

Векторное произведение axb определено только для векторов из трехмерного пространства, т. е. состоящих из трех элементов. Результатом также является вектор из трехмерного пространства. Для вычисления векторного произведения в MATLAB служит функция cross:

» а = [1.2; -3.2; 0.7]; » Ъ = [4.1; 6.5; -2.9]; » с = cross(а, Ь> с = 4.7300 6.3500 20.9200

Для тренировки попробуйте вычислить axb+bxa . Если получился вектор, состоящий из нулей, то вы все проделали правильно, т. к, для любых векторов выполняется свойство axb — -bxa .

Смешанное произведение векторов a, b, с определяется по формуле abc = а ¦ (bxc). Модуль смешанного произведения векторов равен объему параллелепипеда, построенного на этих векторах так, как показано на рис. 2.7,

Рис. 2.7. Параллелепипед, образованный гремя векторами Глава 2. Работа с массивами

Найдите объем параллелепипеда, если

"3.5" "0.5" 0.2"
а = 0 ; Ш 2.1 ; с = -1.9
0 0 2.8

Правильные действия таковы: » а = [3.5; 0; 0]; » Ъ = (0.5; 2.1; 0] ; » с = [-0.2; -1.9; 2.8]; » V = abs(dot(a, cross(b, с))) V = 20.5800

Внешним произведением векторов я = ( Предыдущая 37 38 39 40 41 42 .. 349 >> Следующая

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>