主要内容

lsqminnorm

线性方程的最小规范最小二乘解

描述

例子

x = lsqminnorm(一种B.返回一个数组X解决线性方程斧= B.并尽量减少价值常态(A * X-B).如果此问题存在多种解决金宝搏官方网站方案,那么lsqminnorm返回最小化的解决方案规范(X)

例子

x = lsqminnorm(一种B.托尔另外指定公差lsqminnorm用来确定等级一种

例子

x = lsqminnorm(___rankWarn指定可选标志,以显示警告一种等级低。您可以在以前的语法中使用任何输入参数组合。rankWarn“nowarn”(默认)或“警告”

例子

全部折叠

使用反斜杠(金宝搏官方网站\),lsqminnorm.使用解决方案的2规范进行比较结果。金宝搏官方网站

当无穷解存在时金宝搏官方网站 斧头 = B. ,每一个都是最小值 斧头 - B. .反斜杠命令(\)计算一个这样的解决方案,但这种解决方案通常不会最小化 X .通过的解决方案lsqminnorm不仅仅是最小化规范(*取向), 但是也规范(x)

考虑一个简单的线性方程组,一个方程两个未知数, 2 X 1 + 3. X 2 = 8. .这个系统是有未确定的因为方程比未知数少。使用反斜杠和来解决这个等式lsqminnorm

a = [2 3];B = 8;x_a = a \ b
x_a =2×10 2.6667
x_b = lsqminnorm (A, b)
x_b =2×11.2308 - 1.8462

这两种方法获得了不同的解决方案,因为反斜杠仅旨在最小化金宝搏官方网站规范(*取向),而lsqminnorm也旨在减少规范(x).计算这些规范,并把结果放在表格中,以便比较。

s1 = {“反斜杠”;“lsqminnorm”};S2 = {'norm_ax_minus_b''norm_x'};T =表([规范(A * x_a-b);规范(* x_b-b)]、[规范(x_a);规范(x_b)),'rownames',S1,'variablenames',S2)
t =2×2表norm_ax_minus_b norm_x _______________ ______反斜杠0 2.6667 LSQminnorm 1.7764E-15 2.2188

该图演示了这种情况,并显示了每种方法返回的解决方案。金宝搏官方网站蓝线表示方程的无穷个解金宝搏官方网站 X 2 = - 2 3. X 1 + 8. 3. .橙色的圆表示从原点到解的直线的最小距离,返回的解金宝搏官方网站lsqminnorm位于线路和圆之间的切线点处,表示它是最接近原点的解决方案。

显示如何指定排名计算的公差lsqminnorm可以帮助定义问题的规模,以便随机噪声不会破坏解决方案。

创建一个5秩的低秩矩阵和一个右边向量B.

rng默认重复性的%U = Randn(200,5);v = Randn(100,5);a = u * v';B = U * RANDN(5,1)+ 1E-4 * RANDN(200,1);

解线性系统 斧头 = B. 使用lsqminnorm.计算范数a * x-bX检查溶液的质量。

x = lsqminnorm (A, b);规范(*取向)
ans = 0.0014
规范(x)
ans = 0.1741.

现在向矩阵添加少量噪声一种并再次解决线性系统。噪音会影响解决方案矢量X线性系统不成比例地。

噪声= A + 1e-12*randn(200,100);xnoise = lsqminnorm(声音吵醒,b);常态(Anoise * Xnoise  -  B)
ans = 0.0010
规范(xnoise)
ans = 1.1215e + 08

解决方案较大的原因是噪音影响低秩近似金宝搏官方网站一种.换句话说,lsqminnorm在对角线上处理小值R.矩阵的QR分解一种比他们本身更重要。理想情况下,对角线上的这些小值R.应该被视为零。

元素的对角线元素R.矩阵的QR分解吵闹声.大量对角线元件是约1E-10的顺序。

(Q, R, p) = qr(声音吵醒,0);semilogy (abs(诊断接头(R)),“o”

图中包含一个轴。轴包含一个类型为line的对象。

解决这个问题的办法是增加使用的容差lsqminnorm这是一个低阶近似吵闹声计算中采用误差小于1e-8的方法。这使得结果不那么容易受到噪音的影响。使用公差的解决方案与原始解决方案非常接近X

Xnoise = LSQminnorm(Anoise,B,1E-8);常态(Anoise * Xnoise  -  B)
ans = 0.0014
规范(xnoise)
ans = 0.1741.
规范(x - xnoise)
ans = 1.0811 e-14

求解涉及低秩系数矩阵的线性系统,警告打开。

创建一个3×3矩阵的等级2.在此矩阵中,您可以通过将前两列添加在一起来获取第三列。

a = [1 2 3;4 5 9;6 7 13]
A =3×31 2 3 4 5 9 6 7 13

求问题的最小范数最小二乘解 斧头 = B. ,在那里 B. 等于第二列 一种 .指定“警告”旗帜lsqminnorm如果检测到,显示警告一种等级低。

B = A(:,2);x = lsqminnorm(a,b,“警告”
警告:排名缺陷,等级= 2,tol = 1.072041e-14。
X =3×1-0.3333 0.6667 0.3333

输入参数

全部折叠

系数矩阵。系数矩阵出现在左侧的线性方程系统中斧= B..系数矩阵可以满足或稀疏。

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

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

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

等级公差,指定为非负标量。指定公差可以有助于防止解决方案易受系数矩阵中的随机噪声的影响。默认,lsqminnorm计算托尔的QR分解一种

lsqminnorm计算的等级一种作为对角线元素的数量R.QR分解的矩阵(Q, R, p) = qr (A, 0)绝对值大于托尔.如果等级一种K.,则函数形成的低秩逼近一种通过乘以第一个K.列的问:到了第一K.R..改变容差会影响低秩近似一种

例子:X = LSQminnorm(A,B,1E-2)

数据类型:

警告为低级矩阵切换,指定为“nowarn”“警告”.指定“警告”表明lsqminnorm是否应该产生警告的系数矩阵一种排名缺陷。

例子:X = lsqminnorm (A, B,“警告”)

提示

  • 最小范数解由lsqminnorm当存在多个解决方案时特别有趣。金宝搏官方网站这个方程斧= B.每当有许多解决方案金宝搏官方网站一种未确定(行比列少)或低秩。

  • LSQminnorm(a,b,tol)通常比效率更高PINV(A,TOL)* B用于计算线性系统的最小范数最小二乘解。金宝搏官方网站lsqminnorm使用完全正交分解(COD)来找到一个低秩近似一种, 尽管pinv使用奇异值分解(SVD)。因此,结果pinvlsqminnorm完全不匹配。

  • 为稀疏矩阵,lsqminnorm使用与密集矩阵不同的算法,因此可以产生不同的结果。

也可以看看

||

在R2017B中介绍