【发布时间】:2013-07-21 05:21:19
【问题描述】:
我在 MATLAB 中有一些像这样的简单绘图:
x = [0:5:25];
y = [1 4 7 9 8 3];
plot(x,y)
我的问题是如何平滑它?在文档中没有找到任何我想做的方式。
【问题讨论】:
我在 MATLAB 中有一些像这样的简单绘图:
x = [0:5:25];
y = [1 4 7 9 8 3];
plot(x,y)
我的问题是如何平滑它?在文档中没有找到任何我想做的方式。
【问题讨论】:
您可以使用三次平滑样条
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');
【讨论】:
csaps需要安装Curve Fitting Toolbox。
也许你可以像下面这样使用spline
x1 = 0:.1:25;
y1 = spline(x,y,x1);
plot(x,y,x1,y1);
【讨论】: