Plotting a smooth curve from points

120 次查看(过去 30 天)
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 个评论
Rajendra Gupta
Rajendra Gupta 2021-11-13
Try replacing 'spline with other options, such as 'cubic', also called 'pchip'. It resolved my problem.

请先登录,再进行评论。

回答(1 个)

Marshall Dunlap
Marshall Dunlap 2020-3-4
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 个评论
Rajendra Gupta
Rajendra Gupta 2021-11-12
This is the simplest smoothing code. Just two additional lines and you have a smooth plot. Good work.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Splines 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by