Clear Filters
Clear Filters

Improve least squares solution

2 views (last 30 days)
carlos g
carlos g on 17 Jul 2018
Commented: dpb on 17 Jul 2018
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 Comments
carlos g
carlos g on 17 Jul 2018
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 on 17 Jul 2018
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.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!