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.

 Accepted Answer

Iain
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);
....

More Answers (1)

Pantelis Saviolakis
Pantelis Saviolakis on 24 Feb 2014

0 votes

Thank you for your direct answer to my question. I have tried it but i take only 2 figures instead of 81.I will see if i do sth wrong.Thanks again.

2 Comments

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);
Exactly..It works. THANK YOU. 'Matlab Rules'

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!