funm

Общая матричная функция

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

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

Синтаксис

funm(A,f)

Описание

funm(A,f) вычисляет функциональный f(A) для квадратной матрицы A. Для получения дополнительной информации см. Алгоритмы.

Примеры

Пример 1

Найдите матричный B, таким образом, что B3 = A, где A 3х3 единичная матрица.

Решить B3 = A, вычислите кубический корень матричного A использование funm функция. Создайте функцию, которая вычисляет кубический корень ее аргумента, и используйте его в качестве второго аргумента для funm. Кубический корень единичной матрицы является самой единичной матрицей.

A := matrix::identity(3):
f := x -> surd(x, 3)

funm(A, f)

Замените один из 0 элементы матричного A с 1 и вычислите матричный кубический корень снова.

A[1, 2] := 1:
A

funm(A, f)

Теперь вычислите кубический корень верхней треугольной матрицы.

A[1..2, 3] := [1, 1]:
A

B := funm(A, f)

Проверьте тот B3 = A.

B^3 = A

Пример 2

Найдите матрицу функцией Ламберта В.

Создайте 3х3 матрицу Паскаля A.

A := linalg::pascal(3)

Найти функцию Ламберта В (W0 перейдите) в матричном смысле, вызовите funm использование lambertW в качестве его второго аргумента. Аппроксимируйте результат числами с плавающей запятой при помощи float.

W0 := funm(float(A), lambertW)

Проверьте, что этим результатом является решение матричного уравнения A = W0·eW0 в текущей точности с плавающей точкой.

A = W0*exp(W0)

Теперь найдите W-1 ветвь Ламберта В функционирует для матричного A. Создайте функциональный f представление ветви W-1 из функции Ламберта В.

f := x -> lambertW(-1, x)

Вызовите funm использование f в качестве его второго аргумента. Аппроксимируйте результат числами с плавающей запятой при помощи float.

Wm1 := funm(float(A), f)

Проверьте, что этим результатом является решение матричного уравнения A = Wm1·eWm1 в текущей точности с плавающей точкой.

A = Wm1*exp(Wm1)

Возвращаемые значения

Массив, hfarray, или матрица.

Алгоритмы

Предположим f(x), где x скаляр, имеет расширение Ряда Тейлора. Затем матричный функциональный f(A), где A матрица, задан Рядом Тейлора f(A), со сложением и умножением, выполняемым в матричном смысле.

Если A может быть представлен как A = P·D·P-1, где D диагональная матрица, такая что

затем матричный функциональный f(A) может быть вычислен можно следующим образом:

Недиагонализируемые матрицы могут быть представлены как A = P·J·P-1, где J Жорданова форма матричного A. (Для получения дополнительной информации смотрите linalg::jordanForm.) Затем матричный функциональный f(A) может быть вычислен при помощи следующего определения на каждом Иорданском блоке:

Смотрите также

Функции MuPAD