Plotting a smooth curve from points

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 日

5 投票

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.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSmoothing についてさらに検索

タグ

コメント済み:

2021 年 11 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by