How can I plot 2 fit curves in the same plot using cftool ?

6 visualizaciones (últimos 30 días)
Angelavtc
Angelavtc el 14 de Feb. de 2020
Comentada: Angelavtc el 16 de Feb. de 2020
Hello to all!
I hope you are doing well. As the question says, I just would like to know if it is possible to plot 2 previosuly fit curves in the same plot using cftool, so far I havent found anything about this.
My matlab version is 2019.
Thanks in advance!
Angela
  2 comentarios
darova
darova el 15 de Feb. de 2020
Please attach your code
Angelavtc
Angelavtc el 15 de Feb. de 2020
Yes, like for example put together the following 2 fits.
Fit 1.-
function [fitresult, gof] = createFit(x_dec_12_s, Price_dec_12_s)
%CREATEFIT(X_DEC_12_S,PRICE_DEC_12_S)
% Create a fit.
%
% Data for 'december 2012' fit:
% X Input : x_dec_12_s
% Y Output: Price_dec_12_s
% Output:
% fitresult : a fit object representing the fit.
% gof : structure with goodness-of fit info.
%
% See also FIT, CFIT, SFIT.
% Auto-generated by MATLAB on 15-Feb-2020 16:58:00
%% Fit: 'december 2012'.
[xData, yData] = prepareCurveData( x_dec_12_s, Price_dec_12_s );
% Set up fittype and options.
ft = fittype( 'poly6' );
excludedPoints = excludedata( xData, yData, 'Indices', [3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 44 46 47 48 54 676 712 780 858 865 877 889 892 903 912 913 914 915 916 917 923 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 949] );
opts = fitoptions( 'Method', 'LinearLeastSquares' );
opts.Exclude = excludedPoints;
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
% Plot fit with data.
figure( 'Name', 'december 2012' );
plot( fitresult, xData, yData, excludedPoints );
% Label axes
xlabel( 'x_dec_12_s', 'Interpreter', 'none' );
ylabel( 'Price_dec_12_s', 'Interpreter', 'none' );
grid on
Fit 2.-
function [fitresult, gof] = createFits(x_dec_12_s, Price_dec_12_s, x_dec_13_s, Price_dec_13_s)
%CREATEFITS(X_DEC_12_S,PRICE_DEC_12_S,X_DEC_13_S,PRICE_DEC_13_S)
% Create fits.
%
% Data for 'december 2012' fit:
% X Input : x_dec_12_s
% Y Output: Price_dec_12_s
% Data for 'december 2013' fit:
% X Input : x_dec_13_s
% Y Output: Price_dec_13_s
% Output:
% fitresult : a cell-array of fit objects representing the fits.
% gof : structure array with goodness-of fit info.
%
% See also FIT, CFIT, SFIT.
% Auto-generated by MATLAB on 15-Feb-2020 17:05:00
%% Initialization.
% Initialize arrays to store fits and goodness-of-fit.
fitresult = cell( 2, 1 );
gof = struct( 'sse', cell( 2, 1 ), ...
'rsquare', [], 'dfe', [], 'adjrsquare', [], 'rmse', [] );
%% Fit: 'december 2012'.
[xData, yData] = prepareCurveData( x_dec_12_s, Price_dec_12_s );
% Set up fittype and options.
ft = fittype( 'poly6' );
excludedPoints = excludedata( xData, yData, 'Indices', [3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 44 46 47 48 54 676 712 780 858 865 877 889 892 903 912 913 914 915 916 917 923 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 949] );
opts = fitoptions( 'Method', 'LinearLeastSquares' );
opts.Exclude = excludedPoints;
% Fit model to data.
[fitresult{1}, gof(1)] = fit( xData, yData, ft, opts );
% Plot fit with data.
figure( 'Name', 'december 2012' );
plot( fitresult{1}, xData, yData, excludedPoints );
% Label axes
xlabel( 'x_dec_12_s', 'Interpreter', 'none' );
ylabel( 'Price_dec_12_s', 'Interpreter', 'none' );
grid on
%% Fit: 'december 2013'.
[xData, yData] = prepareCurveData( x_dec_13_s, Price_dec_13_s );
% Set up fittype and options.
ft = fittype( 'poly6' );
excludedPoints = excludedata( xData, yData, 'Indices', [3 4 7] );
opts = fitoptions( 'Method', 'LinearLeastSquares' );
opts.Exclude = excludedPoints;
% Fit model to data.
[fitresult{2}, gof(2)] = fit( xData, yData, ft, opts );
% Plot fit with data.
figure( 'Name', 'december 2013' );
plot( fitresult{2}, xData, yData, excludedPoints );
% Label axes
xlabel( 'x_dec_13_s', 'Interpreter', 'none' );
ylabel( 'Price_dec_13_s', 'Interpreter', 'none' );
grid on

Iniciar sesión para comentar.

Respuesta aceptada

darova
darova el 15 de Feb. de 2020
Try this in second fit

Más respuestas (0)

Categorías

Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by