Sorting of points in 2D
Show older comments
Dear All,
I face issue in arranging the airfoil coordinates coming from a CAD program. The coordinates are arranged from minumum x value to maximum x value. But I require to arrange the points starting from Trailing Edge ( Max X coordinate) and then proceed on top side all the way to Leading Edge ( Minimum X coordinate) and then again proceed in the bottom side and terminate in the Trailing Edge.
The input.txt ( required input file to be sorted)
Output.txt (the coordinates sorted manually).
I have several airfoil coordinates of similar nature, so a matlab function could help me out doing the job manually everytime.
Any help is really appreciated.
Thanks in Advance,
K Vijay Anand
3 Comments
Ameer Hamza
on 17 Oct 2020
Can you create a small input and output file? Maybe with a maximum of 20 lines. That will help in understanding the pattern.
KSSV
on 17 Oct 2020
One way is to use the below rocedure:
Vijay Anand
on 17 Oct 2020
Edited: Vijay Anand
on 17 Oct 2020
Accepted Answer
More Answers (1)
Vijay Anand
on 18 Oct 2020
Edited: Vijay Anand
on 18 Oct 2020
0 votes
2 Comments
Steven Lord
on 18 Oct 2020
Consider using the movmean function included in MATLAB.
Stephen23
on 19 Oct 2020
I did some more experimentation and got better results replacing the moving average with a polynomial fitted to the data. First I tried polyfit, but quickly realized that the end points need to be specified. Luckily this FEX submission
allows constraints to be specified, including points that the curve has to pass through:
pts = Inp{[1,end],:}; % polynomial must pass through the leading & trailing edges
pwr = mmpolyfit(Inp.x,Inp.y, 5, 'Point',pts) % fit order 5 polynomial
tmp = polyval(pwr, Inp.x); % replaces TMP in the original answer
And checking the fit:
plot(Inp.x,Inp.y,'-*', Inp.x,tmp,'-+')

Categories
Find more on Airfoil tools in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


