主要内容

mldivide

解线性方程组Ax = Bx

描述

例子

x一个B解线性方程组A * x =.的矩阵一个而且B必须有相同的行数。MATLAB®显示警告消息一个是糟糕的缩放或近似奇异的,但无论如何都执行计算。

  • 如果一个是标量吗一个\ B相当于答:\ B

  • 如果一个是一个广场n——- - - - - -n矩阵和B是一个矩阵n行,然后x = A \ B是方程的解吗A * x =,如果存在的话。

  • 如果一个是一个长方形——- - - - - -n矩阵m ~ = n,B是一个矩阵行,然后一个B返回方程组的最小二乘解A * x =

x= mldivide (一个B是另一种执行方式吗x一个B,但很少使用。它支持类的操作符重载。

例子

全部折叠

解一个简单的线性方程组,A * x =

一个=魔法(3);B = [15;15;15);x = A \ B
x =3×11.0000 1.0000 1.0000

解一个线性方程组A * x =涉及到一个奇异矩阵,一个

一个=魔法(4);b = [34;34;34;34);x = A \ b
警告:矩阵接近奇异或缩放严重。结果可能不准确。RCOND = 1.306145 e-17。
x =4×11.5000 2.5000 -0.5000 0.5000

rcond之间的是0而且每股收益, MATLAB®发出一个近乎奇异的警告,但继续进行计算。当处理病态矩阵时,即使存在残差,也会得到不可靠的解(b * x)相对较小。在这个特殊的例子中,残差的范数为零,得到了一个精确解,尽管rcond很小。

rcond等于0时,出现单一警告。

A = [10 0;0 0];b = [1;1);x = A \ b
警告:矩阵对工作精度是单一的。
x =2×11正

在这种情况下,除以0会得到和/或,使得计算结果不可靠。

解一个线性方程组,A * x =

A = [1 2 0;0 4 3];b = [8;18];x = A \ b
x =3×10 4.0000 0.6667

用稀疏矩阵解一个简单的线性方程组。

考虑矩阵方程A * x =

A =稀疏([0 2 0 1 0;4 -1 -1 0 0;0 0 0 3 -6;-2 0 0 0 2;0 0 4 2 0]);B =稀疏([8;1;-18;8;20]); x = A\B
x =(1, 1) 1.0000(2, 1) 2.0000(3,1) 3.0000(4,1) 4.0000 5.0000(5、1)

输入参数

全部折叠

操作数,指定为向量、全矩阵或稀疏矩阵。一个而且B必须有相同的行数。

  • 如果一个B具有整数数据类型,另一个输入必须是标量。整数数据类型的操作数不能是复数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符
复数的支持:是的

输出参数

全部折叠

解,返回为向量、全矩阵或稀疏矩阵。如果一个是一个——- - - - - -n矩阵和B是一个——- - - - - -p矩阵,然后x是一个n——- - - - - -p矩阵,包括当p = = 1

如果一个完整存储,x也满了。如果一个是稀疏的,那么x有相同的存储空间B

提示

  • 运营商/而且是由方程联系起来的吗B / A =(‘\ B) '

  • 如果一个是方阵吗一个\ B大致等于发票(一)* B,但MATLAB过程一个\ B以不同的方式和更有力的方式。

  • 如果一个的列数小于一个,然后x = A \ B不一定是最小范数解。您可以计算最小范数最小二乘解使用x =lsqminnorm(A, B)x =pinv(一)* B

  • 使用分解对象,有效地求解一个线性方程组多次不同的右手边。分解对象非常适合于解决需要重复解决的问题,因为系数矩阵的分解不需要多次执行。

算法

全部折叠

的多功能性mldivide在求解线性系统时,其根源在于它能够利用问题中的对称性,将问题分配给一个适当的求解器。这种方法的目的是最小化计算时间。函数的第一个区别是完整的(也称为“密集的”),稀疏的输入数组。

全输入算法

下图显示了输入时的算法路径一个而且B完整的

全输入矩阵的性质决定了mldivide使用哪种算法求解线性系统

稀疏输入算法

如果一个是完整的和B是稀疏的,那么mldivide转换B到一个完整的矩阵,并使用完整的算法路径(上面的)来计算具有完整存储的解。如果一个是稀疏的,储存的解x和的一样吗B而且mldivide的算法路径稀疏的输入,如下所示。

稀疏输入矩阵的性质决定了mldivide使用哪种算法求解线性系统

参考文献

[1]吉尔伯特,约翰·R和蒂姆·佩尔斯。"与算术运算成比例的时间稀疏偏轴"科学与统计计算SIAM杂志9日,没有。5(1988年9月):862-874。https://doi.org/10.1137/0909058

[2]安德森,E。LAPACK用户指南.第三版。软件,环境,工具。费城:工业与应用数学学会,1999。https://doi.org/10.1137/1.9780898719604

[3]戴维斯,蒂莫西A。算法832:UMFPACK V4.3 -一种非对称模式的多正面方法。ACM数学软件汇刊30日,没有。2(2004年6月):196-199。https://doi.org/10.1145/992200.992206

MA57——稀疏对称定与不定系统的解法>。ACM数学软件汇刊30日,没有。2(2004年6月):118-144。https://doi.org/10.1145/992200.992202

[5]戴维斯,Timothy A, John R. Gilbert, Stefan I. Larimore和Esmond G. Ng。算法836:COLAMD,列近似最小度排序算法。ACM数学软件汇刊30日,没有。3(2004年9月):377-380。https://doi.org/10.1145/1024074.1024080

[6]阿米斯托,帕特里克R.,蒂莫西A.戴维斯,伊恩S.达夫。算法837:AMD,近似最小度排序算法。ACM数学软件汇刊30日,没有。3(2004年9月):381-388。https://doi.org/10.1145/1024074.1024081

[7]陈延庆,Timothy A. Davis, William W. Hager, Sivasankaran Rajamanickam。算法887:CHOLMOD,超节点稀疏Cholesky分解和更新/降级。ACM数学软件汇刊35岁,没有。3(2008年10月):1-14。https://doi.org/10.1145/1391989.1391995

[8] Davis, Timothy A. <算法915,SuiteSparseQR:多正面多线程排名揭示稀疏QR分解>。ACM数学软件汇刊38岁的没有。1(2011年11月):1 - 22。https://doi.org/10.1145/2049662.2049670

扩展功能

版本历史

之前介绍过的R2006a

全部展开

Baidu
map