繁体   English   中英

我使用最小二乘法,但是matlab完全返回错误的答案

[英]I used least square method but matlab return compeletly wrong answer

我必须解决一个过度约束的问题(方程式多于未知数)。 所以我必须使用最小二乘法。 首先,我创建系数矩阵。它是一个225 * 375的矩阵。 为了进行反演,我使用pinv()函数,然后将其乘以负载矩阵。 我的问题是在边缘均匀受力的情况下板弯曲。 我希望至少在我的边界内有正确的答案(挠度必须为零),但即使在边界上,我也有错误的答案。 我读过一本书,有时最小二乘方法中会发生错误,应由用户手动纠正,但我在其他地方找不到关于它的更多解释。

首先,我们需要有关您的问题的更多数据:

  1. 什么型号?
  2. 测量值来自哪里?

关于您可以从中得出的结论,我几乎没有注意到:

  1. 如果解决方案有边界,则应使用约束最小二乘法。 如果您在MATLAB上执行此操作,则很容易做到(也请参见二次编程)。
  2. L2错误是否适合您的问题? 也许您应该有所不同
  3. 在MATLAB的实现中没有错误。 使用pinv给出给定矩阵范围内的最小范数(解矢量和剩余L2范数)。 可能是因为您以错误的方式构造数据,或者您使用的模型不够用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM