How to minimize residual error (i.e., cost function) using least squares?

55 views (last 30 days)
TJ
TJ on 27 Dec 2019
Edited: TJ on 4 Jan 2020
I have a data set, 'x' and 'xhat', where 'x' is the experimental data and 'xhat' is calculated. The cost functions are b1, b2 and b3 - these are the values that need to be minimized to reduce the residual error. M is previously calculated elsewhere in the script.
% x is the experimental data
T = 100 + b1
K = b2 + b3 * M^2
xhat = T + (T * K * M^2) % xhat is supposed to be calculated
res=x-xhat % residual error
min(b1,b2,b3)= sum(||res||).^2 % Least squares - Levenberg-Marquardt Algorithm
Having never worked with cftool before, can someone assist me in finding the values of the cost function?
Thanks in advance!

Answers (1)

Shubh Sahu
Shubh Sahu on 31 Dec 2019
Load your dataset in workspace and then open cftool. Select data to fit in curve. Select the model type 'custom' and input the whole equation which you want to minimize. Please refer to these links for further help :
  1 Comment
TJ
TJ on 4 Jan 2020
Shubh,
Thank you for the links. I was only able to implement a two variable custom equation - in my case, x = the equation behind
x = the equation behind '100' in T = 100 + b1
y = the value of M
However, I believe I'll need a three independent variable custom equation to calculate the residuals. How do I implement a three independent variable custom equation?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by