Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: matlab version and "for" loops
Replies: 15   Last Post: Feb 13, 2013 4:53 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
dpb

Posts: 8,112
Registered: 6/7/07
Re: matlab version and "for" loops
Posted: Feb 12, 2013 12:36 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 2/12/2013 10:07 AM, Jessica wrote:
> "Jessica " <jly5@duke.edu> wrote in message
> <ke3bjs$b6t$1@newscl01ah.mathworks.com>...

>> dpb <none@non.net> wrote in message <ke2bbi$98i$1@speranza.aioe.org>...
>> > On 1/26/2013 4:50 PM, Jessica wrote:
>> > > "Jessica " <jly5@duke.edu> wrote in message
>> > > <kdmql8$n4i$1@newscl01ah.mathworks.com>...

>> > >> "Bruno Luong" <b.luong@fogale.findmycountry> wrote in message
>> > >> <kdlt80$st0$1@newscl01ah.mathworks.com>...

>> > ...
>> > > >> > Data(delete) = []
>> > ...
>> > > > And, one other question. If I want to do the same as above
>> except delete
>> > > based on numbers, how would I do that? If I do:
>> > >
>> > > delete_b = GazeType(GazeType>10)
>> > >
>> > > it only lists the numbers that are greater than 10 and I therefore
>> > > cannot delete those rows.
>> > > Generalize the rule Bruno illustrated--
>> > > GazeType(GazeType>10)=[];
>> > > --

>> >
>> Unfortunately, this won't quite work because I am trying to delete
>> rows within larger data sets:
>>
>>
>> First, I isolate the column I am interested in:
>>
>> RemoveColumn3=Total4(:, 11);
>>
>> Then I wanted to generate a variable (just like I did above when the
>> value was a string), that indicates the rows to be deleted (which are
>> greater than 10).
>>
>> And then, delete those specific rows within 2 datasets:
>> Total4(delete) = []
>> Target4(delete) = []

>
>
> I am having some trouble generalizing this logical method. Specifically,
> I am reading in a .csv file and trying to delete "Rows" that have even
> numbers:
>
> Dataset=importdata('02-05-13_No11_WithHeaders.csv');
> FinalDataSet=Dataset.data;
> FinalDataSet2=Dataset.data;
> Row=Dataset.data(:,5);
> tf=bitget(abs(Row),1)~=0;
> FinalDataSet2(tf)=[];
>
> However, "FinalDataSet2" is originally sized as 81539x6. When I delete
> the "tf" values, it turns into a variable that is sized as 1x448465.
>
> Can anyone suggest what I am doing incorrectly here?


Well, when you don't remove elements such that those being removed are
specified as either complete rows or columns the result can't be a
regularly spaced array and so ML returns a vector.

Given a (short) example dataset that illustrates the input and desired
results.

Reading the first part literally, to eliminate rows w/ even indices simply

x(2:2:end,:)=[];

does that job.

--




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.