funmОбщая матричная функция
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
funm(A,f)
funm(A,f) вычисляет функциональный f(A) для квадратной матрицы A. Для получения дополнительной информации см. Алгоритмы.
Найдите матричный 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

Найдите матрицу функцией Ламберта В.
Создайте 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) может быть вычислен при помощи следующего определения на каждом Иорданском блоке:
