How to calculate response function from measurements - Overdetermined equitation

3 views (last 30 days)
Hi there,
my problem is finding a solution for a (complicated) A*X = B matrix problem.
However, as all values are derived from measurements multiplying with the inverse Matrix does not produce any useful results:
I got an input function a, the shape defined by 41 measured (so not totally exact) x,y pairs (all y creating a vector a) and an - unknown - response function (41 x,y' pairs, y' creating vector x).
A further measurement then creates a single value a*x = b0 (the response of the system).
I now do have measurements of 252 different input functions/vectors, creating an overdetermined system A*x = B with A being a 252*41 matrix and B being a 252*1 vector of measurement results. This theoretically should give me a solution vector x (1*41), which would be my response function.
Unfortunately putting this values into a standard linear least squares calculator produces just nonsense and I was hoping Matlab could come up with something more sophisticated, however I'm not sure what would be the best approach (new to Matlab).
The response function isn't a simple logarithmic function or so, the only help is possibly(?) that all numbers are >0.
Any help with this would be greatly appreciated! :)

Accepted Answer

Star Strider
Star Strider on 3 Mar 2017
Taking the inverse is rarely the best approach. Use the mldivide,\ function or operator for best results. If your matrices are sparse, use the lsqr function.
  6 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!