How do I smooth a plot ?
2 views (last 30 days)
Show older comments
Nimrod Daniel
on 8 Jul 2014
Commented: Nimrod Daniel
on 9 Jul 2014
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 Comments
Accepted Answer
Jos (10584)
on 9 Jul 2014
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.-') ;
More Answers (2)
Jos (10584)
on 8 Jul 2014
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 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!