18.4矩阵的函数

 
: r = expm (A)

返回矩阵的指数。

矩阵指数定义为无穷大的泰勒级数

expm(A)=I+A+A^2!+A^3/3!+。。。

然而,泰勒级数是计算矩阵指数的方法;参见Moler和Van Loan,计算矩阵指数的十九种未知方法,SIAM注释,1978年。该方法使用Ward的对角Padé近似方法,并进行三步预处理(SIAM Journal on Numerical Analysis,1977)。DiagonalPadé近似是矩阵的有理多项式

-1D(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]

例如

克朗(1:4,ones(3,1))⇒  1  2  3  4         1  2  3  4         1  2  3  4

如果有两个以上的输入参数A1, A2, …,aKronecker乘积计算为

克朗(克朗(A1, A2), ..., a)

从于克罗内克积是关联的,所以这是定义明确的。

详见: 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)

计算数值张量之间的张量积AB.

的尺寸AB从定义dimAdimB分别地dimAdimB定义要匹配的维度的标量或等长向量。的匹配尺寸AB必须具有相同数量的元素。

仅当dim使用时,它相当于dimA= dimB= dim.

当没有指定尺寸时,dimA= dimB= []。这计算之间的外积AB.

使用全部的参数导致之间的内积AB。这需要大小A大小B).

使用具有属性名称的属性值对Num DimensionsA什么时候A具有应转移到的尾随单重维度C。指定的value应该是的维度总数A.

MATLAB兼容性:Octave当前不支持属性名称=value的语法Num DimensionsA参数

详见: 克朗, , m次.

 
: C = blkmm (A, B)

计算矩阵块的乘积。

块作为数组的二维子数组给出A,B。的大小A必须具有表单[m,k,…]的大小B必须是[k,n,…]。结果是大小[m,n,…]并且计算如下:

对于i=1:prod(大小(A)(3:结束)C(:,:,i)=A(:,:,i)*B(:,:,i)结束
 
: X = sylvester (A, B, C)

求解Sylvester方程。

Sylvester方程定义为:

A X+X B=C

使用标准计算解决方案LAPACK 子程序。

例如

钾盐([1,2;3,4],[5,6;7,8],[9,10;11,12])⇒ [ 0.50000, 0.66667; 0.66667, 0.50000 ]

版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号