Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ReplacePart -> eliminate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg131662] Re: ReplacePart -> eliminate
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Tue, 17 Sep 2013 21:35:13 -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: <0C6D72B120D0634E927CAA8661F84B75742128@welkrock.ricerca.lan>

x = {-1.25664, 0.628319, -0.628319, 1.25664, Indeterminate, -1.25664,
   0.628319, -0.628319, 1.25664, Indeterminate, 1/3, 1/2, 1,
   ComplexInfinity, -1, -1/2};


To eliminate them


numOnly = Select[x, NumericQ]
{-1.25664, 0.628319, -0.628319,
   1.25664, -1.25664, 0.628319,
   -0.628319, 1.25664, 1/3, 1/2,
   1, -1, -(1/2)}


Alternatives:


numOnly == Cases[x, _?NumericQ] ==
 DeleteCases[x, _?(! NumericQ[#] &)] ==
 Pick[x, NumericQ[x]]


True


To replace them with 0


(# /. _?(! NumericQ[#] &) -> 0) & /@ x


{-1.25664, 0.628319, -0.628319,
   1.25664, 0, -1.25664,
   0.628319, -0.628319, 1.25664,
   0, 1/3, 1/2, 1, 0, -1, -(1/2)}



Bob Hanlon


On Mon, Sep 16, 2013 at 4:04 AM, Brambilla Roberto Luigi (RSE) <
Roberto.Brambilla at rse-web.it> wrote:

> I'd like to eliminate the Indeterminate  (or other non-numerical terms,
> as Infinite, etc...) items. Es.
>
>
> x = {-1.25664, 0.628319, -0.628319, 1.25664, Indeterminate, -1.25664,
>    0.628319, -0.628319, 1.25664, Indeterminate};
>
> or
>
> x=Table[1/(3 - n), {n, 0, 5}])
> {1/3, 1/2, 1, ComplexInfinity, -1,-1/2}
>
> How can I do it with a simple command?
> Many thanks, Roberto
>
> -----Messaggio originale-----
> Da: Bob Hanlon [mailto:hanlonr357 at gmail.com]
> Inviato: domenica 15 settembre 2013 13:06
> A: mathgroup at smc.vnet.net
> Oggetto: Re: ReplacePart
>
>
> {5,10} is apparently interpreted as a position within an array rather
> than a list of positions. Not sure why the algorithm isn't able to
> resolve the ambiguity given that the input is a simple list. Or why
> there is no error stating that position {5,10} does not exist.
>
>
> x = {-1.25664, 0.628319, -0.628319, 1.25664, Indeterminate, -1.25664,
>    0.628319, -0.628319, 1.25664, Indeterminate};
>
>
> x2 = x /. Indeterminate -> 0
>
>
> {-1.25664, 0.628319, -0.628319, 1.25664, 0, -1.25664, 0.628319,
> -0.628319, \ 1.25664, 0}
>
>
> x2 ==
>  ReplacePart[x, {5 -> 0, 10 -> 0}] ==
>  ReplacePart[x, Thread[{5, 10} -> 0]] ==  ReplacePart[x, {{5} -> 0, {=
10}
> -> 0}] ==  ReplacePart[x, {{5}, {10}} -> 0] ==  ReplacePart[x, Li=
st /@
> {5, 10} -> 0] ==  ReplacePart[x, Position[x, Indeterminate] -> 0]
>
>
> True
>
>
>
> Bob Hanlon
>
>
>
>
> On Sat, Sep 14, 2013 at 6:02 AM, man21 <man21 at free.fr> wrote:
>
> > Hello,
> >
> > As a result of a calculation, I end up with a list of numerical values
>
> > which contains  some "Indeterminate".
> >
> > x ={-1.25664, 0.628319, -0.628319, 1.25664, Indeterminate, -1.25664,
> > 0.628319, -0.628319, 1.25664, Indeterminate}
> >
> > I try to replace the "Indeterminate" by "0", using :
> >
> > ReplacePart[x, {5, 10} -> 0.]
> >
> > but this dosen't work. Any idea why, and how to do it ?
> >
> > Thanks,
> >
> > Michel
> >
> >
> >
>
>
> RSE SpA ha adottato il Modello Organizzativo ai sensi del D.Lgs.231/2001,
> in forza del quale l'assunzione di obbligazioni da parte della Societ=E0
> avviene con firma di un procuratore, munito di idonei poteri.
> RSE adopts a Compliance Programme under the Italian Law (D.Lgs.231/2001).
> According to this RSE Compliance Programme, any commitment of RSE is take=
n
> by the signature of one Representative granted by a proper Power of
> Attorney. Le informazioni contenute in questo messaggio di posta
> elettronica sono riservate e confidenziali e ne e' vietata la diffusione =
in
> qualsiasi modo o forma. Qualora Lei non fosse la persona destinataria del
> presente messaggio, La invitiamo a non diffonderlo e ad eliminarlo, dando=
ne
> gentilmente comunicazione al mittente. The information included in this
> e-mail and any attachments are confidential and may also be privileged. I=
f
> you are not the correct recipient, you are kindly requested to notify the
> sender immediately, to cancel it and not to disclose the contents to any
> other person.
>




  • Prev by Date: Re: question about ndsolve
  • Next by Date: Re: ReplacePart -> eliminate
  • Previous by thread: Re: ReplacePart -> eliminate
  • Next by thread: Re: ReplacePart -> eliminate