(translator=pacific, ChineseSource=pacific-20020520-6.5\funm.html, EnglishSource=c:\matlabr12\help\techdoc\ref\funm.html)
MATLAB Function Reference    
funm

計算矩陣的函式(Evaluate general matrix function)

Syntax

Description

F = funm(A,fun) 用平方矩陣(square matrix) A來計算函式fun的矩陣形式。若要用矩陣做指數、log數或平方根,可使用 expm(A), logm(A) and sqrtm(A)

[F,esterr] = funm(A,fun) 不印出任何訊息,而回傳相關誤差(relative error)的粗略估計值。

A 是對稱或???(Hermitian),則???(Schur form)為對角線化(diagonal)而且 funm 可產生最正確的結果。

L = logm(A) 利用 funm 來運算。但可以藉由比較 expm(L)A來得到更可靠的誤差估計值。 S = sqrtm(A)E = expm(A) 使用完全不同的演算法。

Examples

Example 1. fun 中可以利用 @

為以magic函數所建立的3x3的sine值矩陣:

Example 2. 下列指令

在四捨五入後產生和下列指令相同的結果。

在任何情形下,若 I = eye(size(X)),則會滿足 S*S+C*C = I

Algorithm

funm 使用了可能會計算錯誤的演算法。若 A 接近一個有多個特徵值(eigenvalues)和很少的特徵向量(poorly conditioned eigenvectors), funm 可能會算出錯誤的答案。而指令會嘗試偵測這種情況並顯示警告訊息。然而有時偵測也會過於敏感而產生答案正確但是同時出現警告訊息的情形發生。

矩陣函式是以Parlett's algorithm來做演算,而此方法在[1]有詳細說明。

See Also

expm, logm, sqrtm, function_handle (@)

References

[1]  Golub, G. H. and C. F. Van Loan, Matrix Computation, Johns Hopkins University Press, 1983, p. 384.

[2]  Moler, C. B. and C. F. Van Loan, "Nineteen Dubious Ways to Compute the Exponential of a Matrix," SIAM Review 20, 1979, pp. 801-836.


 functions fwrite