Re: Only real data
- To: mathgroup at smc.vnet.net
- Subject: [mg122147] Re: Only real data
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Sun, 16 Oct 2011 07:08:13 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j7blu7$34t$1@smc.vnet.net>
You can select the reals easily using Im[]==0 x = {1, 1.5, I, I + 1, I*Sqrt[2], I*Sqrt[2.]} {1, 1.5, I, 1 + I, I*Sqrt[2], 1.4142135623730951*I} Select[x, Im[#1] == 0 & ] {1, 1.5} Turning to your attempt: You are right. Using Head[] or FullForm[] reveals that the Head of I*Sqrt[2] is not Complex but is is Times. To see this here are some examples: x = {1, 1.5, I, I + 1, I*Sqrt[2], I*Sqrt[2.]} {1, 1.5, I, 1 + I, I*Sqrt[2], 1.4142135623730951*I} Head /@ x {Integer, Real, Complex, Complex, Times, Complex} Cases[x, _Complex] {I, 1 + I, 1.4142135623730951*I} Cases[x, Except[_Complex]] {1, 1.5, I*Sqrt[2]} Cases[x, _Times] {I*Sqrt[2]} --- Wolfgang "Jörg Schröder" <HB-Kowalczyk-Schroeders at t-online.de> schrieb im Newsbeitrag news:j7blu7$34t$1 at smc.vnet.net... > Hello, > > > > I have a problem to exclude complex solutions. I tried > > > > data1={2,3/4,1.3,=E4} > > > > {2,3/4,1.3,=E4} > > > > Cases[data1, Except[_Complex]] > > > > {2,3/4,1.3} > > > > and got, what I expected. But when I have data like > > > > {0,0,-I Sqrt[3],I Sqrt[3]} > > > > The above doesn't work. Is this due to a different Head? Is there an > easy > way to filter the non-complex data? > > > > Thanks in advance > > > > Greetings > > > > Joerg > > > > ################ > > Dr. J=F6rg Schr=F6der > > Bremen, Germany >