Plotting a smooth curve from points

84 visualizaciones (últimos 30 días)
Muhammadhn Muhammadh Khalid
Muhammadhn Muhammadh Khalid el 3 de Mzo. de 2020
Comentada: Rajendra Gupta el 13 de Nov. de 2021
Hi there, I' m trying the same thing with the attached data set. But ending up in a more curvy plot. I need a smooth plot similar, but better than the attached figure. I tried the polyval funtion as shown here https://au.mathworks.com/matlabcentral/answers/500026-plotting-a-smooth-curve#answer_409817, but thats creating a more curvy plot. any help would be highly appreciated. Thanks
  1 comentario
Rajendra Gupta
Rajendra Gupta el 13 de Nov. de 2021
Try replacing 'spline with other options, such as 'cubic', also called 'pchip'. It resolved my problem.

Iniciar sesión para comentar.

Respuestas (1)

Marshall Dunlap
Marshall Dunlap el 4 de Mzo. de 2020
With your values in MATLAB create a more well-defined vector of x values (xi). Use the interp1 function to implement a cubic spline interpolation. Then plot the orginial points and then the cubic spline interpolation.
x = [your values];
v = [your values];
xi = [x(1):0.0000001:x(end)];
vid=interp1(x,v,xi,'spline');
plot(x,v,'b*')
hold on
plot(xi,vid,'r')
  1 comentario
Rajendra Gupta
Rajendra Gupta el 12 de Nov. de 2021
This is the simplest smoothing code. Just two additional lines and you have a smooth plot. Good work.

Iniciar sesión para comentar.

Categorías

Más información sobre Splines 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