8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 35 36 37 38 39 40 41 ... 365

0.4286 -1.3333 -1.8000 » R2 = алв R2 =

-0.5000 0.4000 -8.0000 2.3333 -0.7500 -0.5556

Поэлементное возведение в степень осуществляется при помощи .Л

» р = а.Л2 р -

4 25 1

9 16 81

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

» рв = а.лб рв = 1.0е+003 *

0.0005 0.0250 6.0010 2.1870 0.0000 0.0000

Обратите внимание на форму вывода результата. Во-первых, выделен общий множитель 1. Ое+003 для всех элементов результирующей матрицы, т. е. ответ выглядит так:

РВ = 103

(0.0005 0.0250 0.0010 2.1870 0.0000 0.0000

0.5 25 О 2187 0 0

Во-вторых, при возведении 4 и 9 получились нули, т. е. произошла потеря точности из-за того, что использовался формат short. Дело в том, что

4 3 =0.0156, 9~5 = 0.000016935, а эти числа малы по сравнению с остальными, и допустимого числа знаков формата short не хватает для их отображения на экране. Если мы хотим получить более точный результат поэлементного возведения в степень, то мы должны задать формат long, и затем вывести РВ снова:

» format long » рв рв = 1.0е+003 *


0.00050000000000 0.02500000000000 0.00100000000000 2.18700000000000 0.00001562500000 0.00000001693509

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

Вычисление математических функций от элементов матриц

Очень важно сразу понять, что в книгах по теории матриц формула cos А, где А — квадратная матрица, означает вычисление косинуса от матрицы, которое осуществляется при помощи разложения в ряд. в MATLAB имеется возможность вычисления функций от матриц (вычисление функций от матриц описано в разд. "Собственные числа и векторы, матрицы, функции матриц" главы 6).

Запись с - cos (й) в MATLAB приводит к вычислению косинусов от элементов массива а и записи их в массив с того же размера, что и а.

Нахождение, например, косинусов от элементов матрицы

я/2 -тс/2 0 >

А= Я -Я 2я

0 2я л/3 V. J

производится при помощи следующих команд

» А = [pi/2 -pi/2 0; pi -pi 2*pi; 0 2*pi pi/3]; » С = cos (A)

С =

0.0000 0.0000 1.0000 -1.0000 -1.0000 1.0000 1.0000 1.0000 0.5000

Аналогично вычисляются и другие математические функции. Использование функций обработки данных для матриц (нахождение максимума, минимума, суммы и др.) несколько отличается от их применения при работе с векторами.


Применение функций обработки данных к матрицам

Функция sum вычисляет сумму элементов вектора. С другой стороны, векторы в MATLAB, так же как и матрицы, хранятся в двумерных массивах. Возникает вопрос: что же будет, если в качестве аргумента sum использовать не вектор, а матрицу. Оказывается, MATLAB вычислит вектор-строку, длина которой равна числу столбцов матрицы, а каждый элемент является суммой соответствующего столбца матрицы, например:

» м = [1 -2 -4

3-6 4

2 -2 0]; » s = sum(M) s =

б -10 0

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

» s2 = sum(M, 2) S2 =

-5

1

о

Заметьте, что sum(M) и sum(M, 1) приводят к одинаковым результатам. Итак, функция sum суммирует или по строкам, или по столбцам, выдавая результат в виде вектора или вектор-строки. Аналогично работает и функция prod:

» р = prod(M)» р2 = prod(M, 2)

Р =р2 =

6 -24 ое

-72 0

Функция sort упорядочивает элементы каждого из столбцов матрицы в порядке возрастания. Вызов sort со вторым аргументом, равным двум, приводит к упорядочению элементов строк:

» МС = sort(M)» MR = sort(M, 2)

МС =MR =



0 ... 35 36 37 38 39 40 41 ... 365