Improve least squares solution

2 次查看(过去 30 天)
carlos g
carlos g 2018-7-17
评论: dpb 2018-7-17
I have to solve a least squares problem in which y=Ax, where y is a vector whose entries are experimental data, A is my model and x is the solution I need to find so as to weight properly my model to fit the experiments. The following figure shows in blue the experimental data (y) and in red Ax.
How could I obtain a better fit for my data in MATLAB? Is there any specific function for this? (I am not sure how to use the nonlinear least squares method, I simply solved the normal equations with the backslash \ )
  3 个评论
carlos g
carlos g 2018-7-17
The condition number is cond(A)=9.52911699912484e+18. Basically Ax has to fix y (the blue curve), so my question is basically if MATLAB has more powerful regression methods than the usual backslash (least squares) or if there is any trick I can use to overcome this bad result.
dpb
dpb 2018-7-17
You're apparently trying to use an extremely high-order polynomial to fit a very difficult problem.
The solution is undoubtedly to find a more suitable model.
The backslash operator is quite sophisticated despite its deceptively simple syntax; internally it does quite sophisticated stuff and generally outperforms any other technique for badly condition systems.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Systems of Nonlinear Equations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by