How to leave out selected elements from a vector?
Ben Abbott
bpabbott at mac.com
Thu Jul 17 22:56:00 CDT 2008
On Jul 17, 2008, at 7:41 AM, Bill Denney wrote:
> Francesco Potorti` wrote:
>>>> Here is my question. In Mathematica, there exists a function called
>>>> Drop, which I often use to manipulate lists, e.g., Drop[ list,
>>>> {m, n}
>>>> ] returns the argument list with the elements m through n omitted
>>>> from
>>>> the list (the resultant list is shorter for (n - m + 1) elements).
>>>>
>>>> Does anything similar already exist in Octave? I know I can
>>>> program it
>>>> myself, but I wouldn't want to reinvent the wheel. :)
>>>>
>>> Use indexing. For instance [list(1:m-1), list(n+1:end)] could do
>>> what
>>> you want.
>>>
>> Assuming, as Michael did, that you want to remove elements from an
>> array, you can alternatively do
>> list(m:n)=[];
>>
> And if you don't want to actually remove the value from your list, but
> you just want to do a calculation on a subset (not quite what you
> asked,
> but often what you asked for is for this purpose), you can index the
> vector:
> with the indexes themselves
> list([1:m-1 n+1:length(list)])
>
> or with a logical vector
> mask = false(size(list));
> mask(m:n) = true;
> list(mask)
>
> Have a good day,
>
> Bill
I like the "end" feature as well.
list([1:m-1, n+1:end])
Ben
More information about the Help-octave
mailing list