How do I smooth a plot ?
1 次查看(过去 30 天)
显示 更早的评论
Assuming I get a flying route graph like the attached one. Now I want the insect to fly in a smooth way - finite turning radius and finite accelerations. In other words, I want the 90 degrees turn into a vertical search to look like a curve, what's the best way to do it ?
Of course that I can lose some of the data points and replace them with others, or even add some new points in order to get a smooth curves, rather than an abrupt 90 degrees turns.
0 个评论
采纳的回答
Jos (10584)
2014-7-9
If you have the signal processing toolbox FILTFILT, otherwise FILTER
x = [2 4 6 8 10 10 10 10 10 10 10 10 10 10 ] ;
y = [5 5 5 5 5 5 7 9 11 13 15 17 19 21 ] ;
n = 4 ; % smoothing window
b = ones(1,n) ;
xf = filtfilt(b,n,x) ;
yf = filtfilt(b,n,y) ;
plot(x,y,'bo',xf,yf,'r.-') ;
更多回答(2 个)
Jos (10584)
2014-7-8
You want to apply 2D (3D?) smoothing filters, which is quite easy if you have the signal processing toolbox. You can also search the File Exchange for suggestions.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!