[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: logical indexing shortcut?
From: |
Peter P. |
Subject: |
Re: logical indexing shortcut? |
Date: |
Sun, 3 Sep 2017 18:34:49 +0200 |
* Carlo de Falco <address@hidden> [2017-09-03 18:18]:
>
> > On 3 Sep 2017, at 18:11, Peter P. <address@hidden> wrote:
> >
> > Addon to my prevous posting below:
> >
> > * Peter P. <address@hidden> [2017-09-03 18:02]:
> >> Hi list,
> >>
> >> I am looking for a way to operate on certain elements of a vector using
> >> logical indexing. I want to multiply all elements in x that are integer
> >> multiples of four by the number 5.
> >>
> >> x = [3 15 9 12 -1 0 -12 9 6 1];
> >> b = rem(x, 4)==0;
> >> x(b) = x(b)*5
> >>
> >> I wonder if there is a way to do it in one step, without creating index
> >> vector b?
> > and without calculating the condition twice, as in
> > x(rem(x, 4)==0) = x(rem(x, 4)==0) * 5
>
> x(rem(x, 4)==0) *= 5
Thank you Andy, Carlo! What a quick reply from you two! Very elegant!