How to plot a fit object without extrapolation?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Katharina
el 30 de Sept. de 2014
Comentada: Sean de Wolski
el 1 de Oct. de 2014
Hi, I am looking for a way to plot a curve fit object but without the extrapolation at the beginning and the end of the curve. My code for the current graph is as follows:
% Fit
[Fit.(string).fitresult, Fit.(string).gof] = fit( xData1, yData1, ft, 'Normalize', 'on' );
hc(k) = plot(xData1, yData1, '.', 'Marker', markerlist(k),'MarkerEdgeColor',colorlist(k,:),'MarkerFaceColor',colorlist(k,:));
hold on
% Plot fit
ha = plot(Fit.(string).fitresult);
Which generates this figure:

Since the end line, especially for the red curve, is not right, I need to remove that part. Does anyone have a solution? Thanks in advance! Best regards, Katharina
0 comentarios
Respuesta aceptada
Sean de Wolski
el 30 de Sept. de 2014
You can pass 'XLim' into fitresult's plot to plot only over a specific range in x.
2 comentarios
Sean de Wolski
el 1 de Oct. de 2014
Sorry, you're right and that certainly looks like a good enhancement request for cfits.
It looks like you'll have to evaluate it at the query points explicitly and then plot the x/y vectors.
For example:
x = 1:8;
y = fitresult(x); % evaluate at x
plot(x,y) % plot the vectors
Más respuestas (0)
Ver también
Categorías
Más información sobre Fit Postprocessing en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!