calculating on matrix indices

Colin J. Williams cjw at sympatico.ca
Thu Feb 16 19:23:35 EST 2006


Brian Blais wrote:
> Hello,
> 
> In my attempt to learn python, migrating from matlab, I have the 
> following problem. Here is what I want to do, (with the wrong syntax):
> 
> from numpy import *
> 
> t=arange(0,20,.1)
> x=zeros(len(t),'f')
> 
> idx=(t>5)                # <---this produces a Boolean array, probably not what you want.
> tau=5
> x[idx]=exp(-t[idx]/tau)  # <---this line is wrong (gives a TypeError)
> 
> #------------------
> 
> what is the best way to replace the wrong line with something that 
> works: replace all of the values of x at the indices idx with 
> exp(-t/tau) for values of t at indices idx?
> 
> I do this all the time in matlab scripts, but I don't know that the 
> pythonic preferred method is.
> 
> 
> 
>             thanks,
> 
>                 bb
> 
> 
Brian,

What are you trying to do?  It is most unlikely that you need Boolean 
values in x[idx]

Colin W.




More information about the Python-list mailing list