主要内容

linsolve

解线性方程组

描述

例子

X= linsolve (一个,B)解决了线性系统一个X=B使用这些方法之一:

  • 一个广场,linsolve采用LU分解与部分旋转。

  • 对于所有其他情况下,linsolve使用QR分解与列旋转。

linsolve警告说如果一个病了条件(对于方阵)或等级不足(矩形矩阵)。

例子

X= linsolve (一个,B,选择)使用一个合适的解算器结构确定的选项选择。中的字段选择矩阵的逻辑描述属性值吗一个。例如,如果一个你是一个上三角矩阵,可以设置吗选择。UT=真正的为了使linsolve使用一个上三角矩阵解算器设计。linsolve不测试来验证一个中指定的属性吗选择

例子

(X,r)= linsolve (___)同样的回报r,这是互惠的条件数一个(方阵)或的秩一个(矩形矩阵)。您可以使用任何输入参数的组合在以前的语法。这个语法,linsolve不警告说如果一个病态的或不足。

例子

全部折叠

解一个线性系统mldividelinsolve比较性能。

mldivide推荐的方法是解决大多数方程的线性系统在MATLAB®。然而,函数执行几个检查输入矩阵来确定是否有任何特殊的属性。如果你知道提前系数矩阵的属性,然后你就可以使用linsolve为了避免耗时的检查对大型矩阵。

创建一个10000 -,- 10000幻方矩阵和提取下三角部分。设置LT场的选择结构真正的表明一个是一个下三角矩阵。

一个=下三角阵(魔法(1 e4));选择。LT=真正的;

创建一个向量的线性方程的右边 斧头 = b 。的行数一个b必须是相等的。

b = 1(大小(A, 2), 1);

解决线性系统 斧头 = b 使用mldivide和时间计算。

抽搐x1 = \ b;t1 = toc
t1 = 0.3601

现在,解决系统再次使用linsolve。结构,以便指定选项linsolve可以选择一个合适的解算器的下三角矩阵。

抽搐x2 = linsolve (A, b,选择);t2 = toc
t2 = 0.0976

比较执行时间快得多linsolve是多少。与任何时间比较,结果不同电脑和MATLAB的版本。

加速= t1 / t2
加速= 3.6878

解一个线性系统使用linsolve有两个输出抑制矩阵调节警告。

创建一个20-by-20希尔伯特测试矩阵。这个矩阵接近奇异,最大的奇异值2 e18大于最小的。

一个= hilb (20);

解一个线性系统涉及一个linsolve。自一个几乎是单数,linsolve返回一个警告。

1 b =(20日);x = linsolve (A, b);
警告:矩阵接近奇异或严重了。结果可能是不准确的。RCOND = 1.276108 e-19。

现在,解决相同的线性系统,但指定两个输出linsolve。MATLAB®抑制警告,第二个输出r包含的互惠条件一个。您可以使用这种语法在代码中处理特殊情况的坏脾气的矩阵,没有产生一个警告的代码。

[x, r] = linsolve (A, b)
x =20×1108×0.0000 -0.0000 0.0008 -0.0144 0.1448 -0.8567 3.1338 -7.1545 9.9712 -8.4571⋮
r = 1.2761 e-19

输入参数

全部折叠

系数矩阵。一个出现在左边的线性方程组一个X=B。的行数一个必须等于中的行数B

一个不能少。为了解决涉及稀疏矩阵的线性系统,使用mldivide分解代替。

数据类型:|
复数的支持:金宝app是的

输入数组,指定为一个向量或矩阵。B出现在右边的线性方程组一个X=B。如果B是一个矩阵,矩阵中的每一列代表一个不同的右侧向量。

的行数一个必须等于中的行数B

数据类型:|
复数的支持:金宝app是的

系数矩阵的属性,指定为一个结构。使用这种结构来指定属性的一个linsolve用于选择适当的线性系统的解算器。结构中包含的字段真正的/值表明是否一个每个属性。默认情况下所有字段的结构被认为是。此表列出了可能的领域选择及其对应的矩阵的性质。

矩阵的性质

LT

下三角(非零值只出现在或主对角线以下)

UT

上三角(非零值只出现在主对角线以上)

UHESS

上层Hessenberg(所有零值低于第一副斜杆)

信谊

真正的对称的或复杂的埃尔米特(矩阵等于它的转置)

POSDEF

正定(所有正特征值)

矩形

长方形矩阵(不同数量的行和列)

TRANSA

共轭转置——指定是否函数解决了A * X =(当选择。TRANSA = false)或转置的问题一个“* X = B(当选择。TRANSA = true)

例子:选择。UT=真正的指定一个是上三角。

例子:选择。信谊=真正的,选择。POSDEF = true两个字段设置为指定一个是对称的正定。

有效的组合

此表列出所有的行字段值的组合选择这是有效的linsolve。空细胞的默认值和一个真正的/条目显示,linsolve可以接受的价值。

LT

UT

UHESS

信谊

POSDEF

矩形

TRANSA

一个是下三角

真正的

真正的/

真正的/

一个是上三角

真正的

真正的/

真正的/

一个上Hessenberg

真正的

真正的/

一个是对称的

真正的

真正的/

真正的/

一个是长方形的

真正的/

真正的/

笔记的使用

  • 如果一个有属性选择,然后linsolve快而mldivide,因为linsolve立即调用适当的解决者,不执行任何测试来验证一个有指定的属性。

  • 如果一个您指定的属性吗选择,然后linsolve返回不正确的结果,并不总是返回一个错误消息。因此,如果你不确定一个指定的属性,使用mldivide分解代替。

数据类型:结构体

输出参数

全部折叠

线性系统的解决方案,作为一个向量或矩阵满足返回一个X=B(或一个TX=B如果选择。TRANSA = true)。的大小X取决于选择。TRANSA = true:

  • 如果一个——- - - - - -nB——- - - - - -k,然后Xn——- - - - - -k的解决方案一个X=B

  • 如果选择。TRANSA = true,然后一个——- - - - - -nBn——- - - - - -k。在这种情况下,X——- - - - - -k的解决方案一个TX=B

互惠的条件数或等级,作为一个标量返回。

  • 如果一个是一个方阵,那么r是互惠的条件数的一个

  • 如果一个是一个长方形矩阵,然后呢r的排名是一个

  • 如果选择是指定的,那么r的条件数的倒数吗一个除非矩形真正的和两个LTUT,在这种情况下,r给的秩一个

提示

  • 速度的好处linsolve可以随矩阵结构和底层的相对优化算法。在某些情况下(如小矩阵)可能没有任何加速比mldivide。效益与速度linsolve出现,避免昂贵的检查大型矩阵的性质,或通过选择一种算法更适合输入比的选择mldivide使。

扩展功能

版本历史

之前介绍过的R2006a