MathGroup Archive 2005

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

Search the Archive

List Replace Problems

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59831] List Replace Problems
  • From: wesh <wesh at acm.org>
  • Date: Tue, 23 Aug 2005 04:51:28 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

I want to perform some element by element operations on a class of
lists. For a given list The operation in a much simplified form can be
characterized by

a = {1, 3, 5, 7, 9}; 
Do[a[[i]] /= i, {i, 1, 5}]; 
a

Out[38]=
{1, 3/2, 5/3, 7/4, 9/5}

Now, however, if I try to define a function to do this for a general
list, namely,

dlst[u_List] =
   Do[u[[i]] /= i,  {i, 1, 5}]; 
a = {1, 3, 5, 7, 9}; 
dlst[a]; 
a

Set::setps: 
({1, 2, 3, 4, 5}) in assignment of part is not a symbol. ! More ...

Out[39]=
{1, 3, 5, 7, 9}

I get the above error. It says I'm trying to assign one number to
another number. Why does Mathematica perform in the first case but 
refuse to in the second.

I tried

b = Do[ReplacePart[a,  a[[i]]/i, i], {i, 1, 5}]

but it doesn't even bother to return an error message.


How, can I get the desired function?

Thanks,

Wesh


  • Prev by Date: Re: Re: ever gotten SVG Export to work?
  • Next by Date: Re: FindRoot for the determinant of a matrix with a varying size
  • Previous by thread: Re: a question about intersection curve.
  • Next by thread: Re: List Replace Problems