[Date Index]
[Thread Index]
[Author Index]
Re: Extract Integers
*To*: mathgroup at smc.vnet.net
*Subject*: [mg131431] Re: Extract Integers
*From*: Andrzej Kozlowski <akozlowski at gmail.com>
*Date*: Sun, 21 Jul 2013 21:42:57 -0400 (EDT)
*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com
*Delivered-to*: l-mathgroup@wolfram.com
*Delivered-to*: mathgroup-outx@smc.vnet.net
*Delivered-to*: mathgroup-newsendx@smc.vnet.net
*References*: <20130721082357.762536A19@smc.vnet.net>
On 21 Jul 2013, at 10:23, Dana DeLouis <dana01 at icloud.com> wrote:
> Hi. I've run out of ideas. Does anyone know the proper way to extract all the integers from the following simplified version of a larger problem I'm working on?
>
> equ=Series[Exp[x],{x,0,5}] //Normal
>
> 1+x+x^2/2+x^3/6+x^4/24+x^5/120
>
> When trying to extract all the integers, I understand numbers like 120 are part of Rational[1,120]
>
> equ //FullForm
>
> << Not shown here >>
>
> I thought looking at all LevelSpec was the solution, but apparently not.
>
> Cases[equ, _Integer, Infinity]
> {1,2,3,4,5}
>
> (* Or *)
>
> Position[equ, _Integer, Infinity]
> {{1},{3,2,2},{4,2,2},{5,2,2},{6,2,2}}
>
> Extract[equ, %]
> {1,2,3,4,5}
>
> Both ways extract from the numerator, but I just can't seem to extract the {2,6,24,120} inside the denominator.
> Does anyone know the proper way?
> Thanks in advance. :>~
>
> Dana
> Mac & Math 9
>
>
In this case the following will do:
expr = 1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120
Cases[
expr /. Rational[x_, y_] :> rational[x, y], _Integer, {0, Infinity}]
{1, 2, 1, 2, 3, 1, 6, 4, 1, 24, 5, 1, 120}
If your expression involved complex numbers you would have to do the same with Complex as well as with Rational.
Andrzej Kozlowski
Prev by Date:
**Re: Extract Integers**
Next by Date:
**Re: Extract Integers**
Previous by thread:
**Re: Extract Integers**
Next by thread:
**Re: Extract Integers**
| |