Plotting a smooth curve from points
40 ビュー (過去 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 で Smoothing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!