2013-05-20 77 views
2

我在MATLAB一些簡單的情節是這樣的:平滑2D情節MATLAB

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

我的問題是我怎麼能順利呢?沒有找到任何我想要的文件做法。

回答

1

也許你可以利用spline如下

x1 = 0:.1:25; 
y1 = spline(x,y,x1); 
plot(x,y,x1,y1); 
+0

這就是我一直在尋找對於。謝謝。 – Seatless

+4

請注意,這不會按照您的要求進行平滑處理。 – 2013-05-20 16:12:27

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'); 
+0

是的。這是一個不錯的選擇。也可以簡單地做一個高斯模糊,使用conv來完成這項工作。 – 2013-05-20 15:34:15

+0

需要注意的是''csaps'需要安裝[曲線擬合工具箱](http://www.mathworks.com/products/curvefitting/)。 –