dpb <email@example.com> wrote in message <firstname.lastname@example.org>... > On 6/24/2013 6:26 PM, James Tursa wrote: > > dpb <email@example.com> wrote in message <firstname.lastname@example.org>... > >> > >> While doing it by a loop is _NOT_ the way for large cases, sometimes > >> it is handy and time isn't an issue for small array sizes. The way in > >> general to do such things is to start at the end and progress > >> forwards--that way the lower indices aren't affected by the deleted > >> rows... > >> > >> for i=length(dat):-1:1 > >> if((sum(dati(i,:))<355) & range(dati(i,:))>20) > >> dati(i,:) = ; > >> end > >> end > > > > I understand what you are saying about using a loop on small datasets, > > but IMO this is never a good way to program in MATLAB, even on small > > datasets.... > > I don't recall saying it was a "good" way...just that it won't be > terribly noticeable on small datasets. > > And, yes, no, I'd never program that way in Matlab unless I had some > ulterior motive as in this posting as a pedagogical tool... > > --
I can't do logic discrimination on dataset on loading because is created by an other program as complete array (matlab workspace format). I can iterate the whole dataset and mark zeros the rows I want to delete, but then I've to delete the rows in possible fast way.