【问题标题】:Least Squares Solution and Distance in MatlabMatlab中的最小二乘解和距离
【发布时间】:2015-04-04 11:48:57
【问题描述】:
  1. 求系统 Ax=b 和 Ax=c 的最小二乘解。
  2. 如果 x 是 Ax=b 的最小二乘解,求 Ax 与 b 的 L2 距离。同理,如果 x 是 Ax=c 的最小二乘解,求 Ax 到 c 的 L2 距离。

我的目标是使用 matlab 执行此操作,但我遇到了一些麻烦。我的矩阵如下:

A = [ones(1000,1), repmat([2,0]', 500, 1)];

b = [repmat([2,4]',500,1)];

c = [repmat([1,2,3,4]',250,1)];

它建议我使用 regress 命令,但我完全不确定如何解决这个特定问题。

【问题讨论】:

标签: matlab matrix least-squares


【解决方案1】:

对于一组方程 Ax=b,产生最小二乘误差的 x 是 A 乘以 b 的伪逆。在 Matlab 命令中,它是

x_hat = pinv(A) * b

要获得 Ax 和 b 的 L2 距离,请使用 norm

norm(A*x_hat - b)

【讨论】:

  • pinv(A)*bA\b 效率低,数值稳定性差。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 2016-03-25
  • 2016-10-14
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多