I have attached the fig. file of the plot and I want to make the lines smooth without running code again as it takes too much time.

 Respuesta aceptada

Star Strider
Star Strider el 29 de Jun. de 2019

0 votos

It depends on what you intend by ’smooth’.
Try this:
I = openfig('scma25.fig');
Ax = gca;
Lines = findobj(Ax,'Type','line');
for k = 1:numel(Lines)
X(k,:) = Lines(k).XData;
Y(k,:) = Lines(k).YData;
pv(:,k) = polyfit(X(k,:), Y(k,:), 3);
yf(k,:) = polyval(pv(:,k),X(k,:));
end
figure
semilogy(X', yf')
grid
legend(Ax.Legend.String)
xlabel(Ax.XLabel.String)
ylabel(Ax.YLabel.String)
It uses polyfit and polyval to fit your data, then plots the fitted data in a new figure. It also re-uses your axis labels and legend strings.

2 comentarios

Sajid Sarwar
Sajid Sarwar el 29 de Jun. de 2019
@ Star Strider thank you
Star Strider
Star Strider el 29 de Jun. de 2019
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Line Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 29 de Jun. de 2019

Comentada:

el 29 de Jun. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by