r =
expm (A)
¶返回矩阵的指数。
矩阵指数定义为无穷大的泰勒级数
expm (A) = I + A + A^2/2! + A^3/3! + ...
然而,泰勒级数是不计算矩阵指数的方法;详见Moler和Van Loan,Nineteen Dubious Ways to Compute the Exponential of a Matrix,SIAM注释,1978年。该方法使用Ward的对角Padé近似方法,并进行三步预处理(SIAM Journal on Numerical Analysis,1977)。DiagonalPadé近似是矩阵的有理多项式
-1 D (A) N (A)
泰勒系列赛与第一场比赛相匹配2q+1
上述泰勒级数的项;当Dq(A)
是病态的。
s =
logm (A)
¶s =
logm (A, opt_iters)
¶[s, iters] =
logm (…)
¶计算平方矩阵的矩阵对数A.
该实现利用了Padé近似和身份
logm (A) = 2^k * logm (A^(1 / 2^k))
可选输入opt_iters是要计算的最大平方根数,默认为100。
可选输出iters是实际计算的平方根数。
s =
sqrtm (A)
¶[s, error_estimate] =
sqrtm (A)
¶计算矩阵的平方根A.
参考:N.J.Higham。新的平方米MATLAB.第336号数值分析返回,曼彻斯特计算数学中心,英国曼彻斯特,1999年1月。
C =
kron (A, B)
¶C =
kron (A1, A2, …)
¶形成两个或多个矩阵的克罗内克乘积。
这被按块定义为
c = [ a(i,j)*b ]
例如
kron (1:4, ones (3, 1)) ⇒ 1 2 3 4 1 2 3 4 1 2 3 4
如果有两个以上的输入参数A1, A2, …,AnKronecker乘积计算为
kron (kron (A1, A2), ..., An)
因为克罗内克积是关联的,所以这是定义明确的。
详见: tensorprod.
C =
tensorprod (A, B, dimA, dimB)
¶C =
tensorprod (A, B, dim)
¶C =
tensorprod (A, B)
¶C =
tensorprod (A, B, "all")
¶C =
tensorprod (A, B, …, "NumDimensionsA", value)
¶计算数值张量之间的张量积A和B.
的尺寸A和B从定义dimA和dimB分别地dimA和dimB定义要匹配的维度的标量或等长向量。的匹配尺寸A和B必须具有相同数量的元素。
仅当dim使用时,它相当于dimA = dimB = dim
.
当没有指定尺寸时,dimA = dimB = []
。这计算之间的外积A和B.
使用"all"
参数导致之间的内积A和B。这需要size (A) == size (B)
.
使用具有属性名称的属性值对"NumDimensionsA"
当A具有应转移到的尾随单重维度C。指定的value应该是的维度总数A.
MATLAB兼容性:Octave当前不支持"property_name=value"
的语法"NumDimensionsA"
参数
C =
blkmm (A, B)
¶计算矩阵块的乘积。
块作为数组的二维子数组给出A,B。的大小A必须具有形式[m,k,…]
的大小B必须是[k,n,…]
。结果是大小[m,n,…]
并且计算如下:
for i = 1:prod (size (A)(3:end)) C(:,:,i) = A(:,:,i) * B(:,:,i) endfor
X =
sylvester (A, B, C)
¶求解Sylvester方程。
Sylvester方程定义为:
A X + X B = C
使用标准计算解决方案LAPACK 子程序。
例如
sylvester ([1, 2; 3, 4], [5, 6; 7, 8], [9, 10; 11, 12]) ⇒ [ 0.50000, 0.66667; 0.66667, 0.50000 ]
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2