主要内容

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出现,单数的警告。

(1 = 0;0 0];b = [1;1);x = A \ b
警告:矩阵是奇异的工作精度。
x =2×11正

在这种情况下,除零导致计算和/或,使得计算结果不可靠。

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

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

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

考虑了矩阵方程A * x =

一个=稀疏([0 2 0 1 0;4 1 1 0 0;0 0 0 3 6;2 0 0 0 2;2 0 0 4 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|逻辑|字符
复数的支持:金宝app是的

输出参数

全部折叠

解决方案,作为一个矢量,返回完整的矩阵,或稀疏矩阵。如果一个是一个——- - - - - -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是一样的吗Bmldivide遵循路径的算法稀疏的输入,如下所示。

稀疏的属性输入矩阵确定哪些算法mldivide用于解决线性系统

引用

[1]吉尔伯特,约翰·R。和蒂姆·佩尔斯。“稀疏的部分旋转时间正比于算术运算。”暹罗在科学杂志和统计计算9日,没有。5(1988年9月):862 - 874。https://doi.org/10.1137/0909058

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

[3]戴维斯,蒂莫西。832年“算法:UMFPACK V4.3——一个unsymmetric-pattern multifrontal方法。”ACM交易的数学软件30日,没有。2(2004年6月):196 - 199。https://doi.org/10.1145/992200.992206

[4]达夫,伊恩•s“MA57————代码稀疏对称有限和无限系统的解决方案。”ACM交易的数学软件30日,没有。2(2004年6月):118 - 144。https://doi.org/10.1145/992200.992202

[5]戴维斯,蒂莫西。,John R. Gilbert, Stefan I. Larimore, and Esmond G. Ng. “Algorithm 836: COLAMD, a Column Approximate Minimum Degree Ordering Algorithm.”ACM交易的数学软件30日,没有。3(2004年9月):377 - 380。https://doi.org/10.1145/1024074.1024080

[6]Amestoy,帕特里克·R。,Timothy A. Davis, and Iain S. Duff. “Algorithm 837: AMD, an Approximate Minimum Degree Ordering Algorithm.”ACM交易的数学软件30日,没有。3(2004年9月):381 - 388。https://doi.org/10.1145/1024074.1024081

[7],延庆,蒂莫西·a·戴维斯,威廉·w·海格,Sivasankaran Rajamanickam。“887年算法:CHOLMOD Supernodal稀疏的柯列斯基分解和更新/ Downdate。”ACM交易的数学软件35岁,没有。3(2008年10月):1 - 14。https://doi.org/10.1145/1391989.1391995

[8]戴维斯,蒂莫西·a .”算法915 SuiteSparseQR: Multifrontal多线程Rank-Revealing稀疏QR分解。”ACM交易的数学软件38岁的没有。1(2011年11月):22页。https://doi.org/10.1145/2049662.2049670

扩展功能

版本历史

之前介绍过的R2006a

全部展开