Solve least square error optimization
Show older comments
Dear all,
I've got the following optimization problem:
D1 = F1 (d1), D2 = F2(d2), D3 = F3(d3) are seperate functions for three different measurements
d1=ds1*x; d2=ds2*x; d3=ds3*x; ds123 is the sample measurement, and the x is the correction of the error.
To find the optimal correction value x, the following should be minimized:
min( (D1-D2)^2 + (D2-D3)^2 + (D3-D1)^2 , x)
This might be done using an optimization routine but becomes very slow if the number of measurements increases (in case of an image).
Is there a straight forward way to perfom, which is considerably faster?
many thanks in advance.
all the best,
Kees
5 Comments
Adam Danz
on 2 Dec 2019
Which functions have you tried that you consider to be slow? What optional inputs have you tried that may constrain the problem?
Kees de Kapper
on 3 Dec 2019
Edited: Kees de Kapper
on 3 Dec 2019
Catalytic
on 3 Dec 2019
It's not fmincon that is slow, it is your coding of the objective function. You should show that so that we can recommend how to optimize its execution time. Also, please clarify the dimension of the various quantities involved. Is x a scalar? You have only a single unknown? Similarly, are d1,2,3 array-valued or scalar-valued?
Kees de Kapper
on 3 Dec 2019
Adam Danz
on 3 Dec 2019
Any chance you could attach a mat file with all the variables needed to run the code? It's just a lot faster for us mortals if we can step through the code rather than imagining it.
Answers (0)
Categories
Find more on Choose a Solver 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!