Loop or no Loop?
16 views (last 30 days)
Show older comments
Pantelis Saviolakis
on 24 Feb 2014
Commented: Pantelis Saviolakis
on 24 Feb 2014
Hello,greetings from Greece.I have a large data set with columns(longitude,latitude,u,v,w,etc).Because longitude and latitude are discontinuous in some points,i have to separate the data set in 81 parts (not equal in length) to take a different figure of each part(where longitude and latitude are continuous). I have done this manually but i was wandering if there was a way to do this in a loop(to be more beautiful),because the code i use every time is the same. The only thing that change is as an example: for the first figure i=1:1:517 , for the second figure i=518:1:721 ,for the third i=722:1:1200 ... where i is the line of the dataset and its size is not presized(the other code is the same).If someone can help, i would be gratefull.
0 Comments
Accepted Answer
Iain
on 24 Feb 2014
You need to figure out the right process for splitting your dataset.
Something like:
dlat = abs(diff(latitude));
datasets_end_at = find(dlat > 1);
datasets_start_at(1) = 1;
datasets_start_at(2:(numel(datasets_end_at)+1)) = datasets_end_at + 1;
datasets_end_at(end+1) = numel(latitude);
for i = 1:numel(datasets_start_at)
section_indices = datasets_start_at(i):datasets_end_at(i);
....
0 Comments
More Answers (1)
Pantelis Saviolakis
on 24 Feb 2014
2 Comments
Iain
on 24 Feb 2014
You will need to adapt what I gave you for what you need:
find(dlat > 1); might need to be:
find(dlat > 0.0001);
dlat = abs(diff(latitude)); might need to be:
d_dist = sqrt(diff(latitude).^2 + diff(longitude).^2);
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!