i have a plot. Now i want to make it smooth using interpolation. How shoud i do it? Moreover, the peak should be at same point.
figure,plot(f,2*abs(res));
xlabel('frequency(GHz)'); ylabel('standarddev(%)');
grid

 採用された回答

Stephen23
Stephen23 2015 年 9 月 3 日
編集済み: Stephen23 2015 年 9 月 3 日

4 投票

It sounds like you want a kind of interpolation, because "smoothing" usually trims the values of the extreme points of a curve, whereas interpolation fits those points exactly (as per your requirement that "the peak should be at same point").
Because I do not have your data here is a simple example using pchip.There are other 1D interpolation functions to choose from, so you should take a look and pick one that best suits your needs.
>> Y = [1,1,2,1,1];
>> X = [0,1,3,4,5];
>> Xi = 0:0.1:5;
>> Yi = pchip(X,Y,Xi);
>> plot(Xi,Yi,X,Y)

その他の回答 (0 件)

カテゴリ

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

質問済み:

2015 年 9 月 3 日

編集済み:

2015 年 9 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by