Export residuals from curve fitting

45 visualizaciones (últimos 30 días)
Mohammed Hammad
Mohammed Hammad el 7 de Jul. de 2019
Comentada: Mohammed Hammad el 7 de Jul. de 2019
Hi,
I am using the curve fitting toolbox on MATLAB_R2019a to create a (linear least square fit) by creating a (Polynomial fit with 1 degree).
I would like to export the residuals values to an array. I know I can acheive that manually from Fit >> Save to work space >> output.
But I have a loop around 1000 file so I would like to export residuals individually for each fit.
Any help is apprciated.

Respuesta aceptada

Matt J
Matt J el 7 de Jul. de 2019
Editada: Matt J el 7 de Jul. de 2019
Instead of using cftool, use the fit() command,
[fitobject,gof,output] = fit(x,y,'poly1','Weights', w);
residuals=output.residuals;
  1 comentario
Mohammed Hammad
Mohammed Hammad el 7 de Jul. de 2019
Thanks a lot, I achieved what I want by editing my curvefit code after generating it from the toolbox as you mentioned
[fitobject,gof,output] = fit( xData, yData, ft, opts );
then I got the residuals from:
residuals=output.residuals;

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 7 de Jul. de 2019
Editada: Matt J el 7 de Jul. de 2019
For a simple 1 degree polynomial, why not just use polyfit?
p=polyfit(x,y,1);
residuals=polyval(p,x)-y;
  4 comentarios
Mohammed Hammad
Mohammed Hammad el 7 de Jul. de 2019
cool, but I have weights, how can I insert them in the polyfit function. I used to do that using the curve fitting toolbox but here, I don't know how to do it
Matt J
Matt J el 7 de Jul. de 2019
Editada: Matt J el 7 de Jul. de 2019
Unfortunately, you cannot do weighted fitting with polyfit, so I would recommend fit() as I mentioned in my other answer.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by