Полномочия и экспоненциалы

В этой теме показано, как вычислить матричные степени и экспоненциалы с помощью различных методов.

Положительные целочисленные степени

Если A является квадратной матрицей и p является положительным целым числом, тогда A^p эффективно умножает A сам по себе p-1 времени. Для примера:

A = [1 1 1
     1 2 3
     1 3 6];
A^2
ans = 3×3

     3     6    10
     6    14    25
    10    25    46

Обратная и дробная степени

Если A квадратная и несингулярная, тогда A^(-p) эффективно умножает inv(A) сам по себе p-1 времени.

A^(-3)
ans = 3×3

  145.0000 -207.0000   81.0000
 -207.0000  298.0000 -117.0000
   81.0000 -117.0000   46.0000

MATLAB ® вычисляет inv(A) и A^(-1) с тем же алгоритмом, поэтому результаты в точности совпадают. Оба inv(A) и A^(-1) выдавать предупреждения, если матрица близка к сингулярной.

isequal(inv(A),A^(-1))
ans = logical
   1

Дробные степени, такие как A^(2/3), также разрешены. Результаты с использованием дробных степеней зависят от распределения собственных значений матрицы.

A^(2/3)
ans = 3×3

    0.8901    0.5882    0.3684
    0.5882    1.2035    1.3799
    0.3684    1.3799    3.1167

Степени элемента за элементом

The .^ оператор вычисляет степени. Например, чтобы квадрировать каждый элемент в матрицу, которую вы можете использовать A.^2.

A.^2
ans = 3×3

     1     1     1
     1     4     9
     1     9    36

Квадратные корни

The sqrt функция является удобным способом вычисления квадратного корня каждого элемента в матрице. Альтернативный способ сделать это A.^(1/2).

sqrt(A)
ans = 3×3

    1.0000    1.0000    1.0000
    1.0000    1.4142    1.7321
    1.0000    1.7321    2.4495

Для других корней можно использовать nthroot. Для примера вычислите A.^(1/3).

nthroot(A,3)
ans = 3×3

    1.0000    1.0000    1.0000
    1.0000    1.2599    1.4422
    1.0000    1.4422    1.8171

Эти элементарные корни отличаются от матричного квадратного корня, который вычисляет вторую матрицу B таким, что A=BB. Функция sqrtm(A) вычисляет A^(1/2) по более точному алгоритму. The m в sqrtm отличает эту функцию от sqrt(A), что, как A.^(1/2), делает свою работу по элементам.

B = sqrtm(A)
B = 3×3

    0.8775    0.4387    0.1937
    0.4387    1.0099    0.8874
    0.1937    0.8874    2.2749

B^2
ans = 3×3

    1.0000    1.0000    1.0000
    1.0000    2.0000    3.0000
    1.0000    3.0000    6.0000

Скалярные основы

В сложение к приведению матрицы к степени, можно также поднять скаляр к степени матрицы.

2^A
ans = 3×3

   10.4630   21.6602   38.5862
   21.6602   53.2807   94.6010
   38.5862   94.6010  173.7734

Когда вы поднимаете скаляр в степень матрицы, MATLAB использует собственные значения и собственные векторы матрицы, чтобы вычислить матричную степень. Если [V,D] = eig(A), затем 2A=V2DV-1.

[V,D] = eig(A);
V*2^D*V^(-1)
ans = 3×3

   10.4630   21.6602   38.5862
   21.6602   53.2807   94.6010
   38.5862   94.6010  173.7734

Матричные экспоненциалы

Матричная экспоненциальная является частным случаем приведения скаляра к матричной степени. Основа для матрицы экспоненциала является число Эйлера e = exp(1).

e = exp(1);
e^A
ans = 3×3
103 ×

    0.1008    0.2407    0.4368
    0.2407    0.5867    1.0654
    0.4368    1.0654    1.9418

The expm функция является более удобным способом вычисления матричных экспоненциалов.

expm(A)
ans = 3×3
103 ×

    0.1008    0.2407    0.4368
    0.2407    0.5867    1.0654
    0.4368    1.0654    1.9418

Матричная экспоненциальная может быть вычислена несколькими способами. Для получения дополнительной информации см. раздел «Матричные экспоненциалы».

Работа с маленькими числами

Область Функций MATLAB log1p и expm1 вычислить log(1+x) и ex-1 точно для очень малых значений x. Для примера, если вы пытаетесь добавить число, меньшее точности машины, к 1, то результат округляется до 1.

log(1+eps/2)
ans = 0

Однако log1p способен вернуть более точный ответ.

log1p(eps/2)
ans = 1.1102e-16

Аналогично для ex-1, если x очень маленькая, тогда она округлится до нуля.

exp(eps/2)-1
ans = 0

Снова, expm1 способен вернуть более точный ответ.

expm1(eps/2)
ans = 1.1102e-16

См. также

| | | | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте