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
2021-11-13
Try replacing 'spline with other options, such as 'cubic', also called 'pchip'. It resolved my problem.
回答(1 个)
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
2021-11-12
This is the simplest smoothing code. Just two additional lines and you have a smooth plot. Good work.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Splines 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!