2

我在 MATLAB 中有一些像这样的简单图:

x = [0:5:25];
y = [1 4 7 9 8 3];
plot(x,y)

我的问题是如何平滑它?还没有找到任何方法来做我想要的文档。

4

2 回答 2

3

您可以使用三次平滑样条

p  = 1e-2;           % initialize smoothing constant
fn = csaps(x, y, p); % get ppform of the cubic smoothing spline
y1 = ppval(fn, x);   % evaluate piecewise polynomial

为了比较:

plot(x,y);
hold on;
plot(x, y1, '-r');
于 2013-05-20T15:31:33.793 回答
1

也许你可以使用spline如下

x1 = 0:.1:25;
y1 = spline(x,y,x1);
plot(x,y,x1,y1);
于 2013-05-20T15:29:09.973 回答