Hi, thank you Andrea. That is exactly what i was looking for. Great. Andrea explained what the Matlab code does below. Sorry about the confusion. I was under the impression that numpy was leaning very heavily on Matlab for its syntax and thus i assumed that Matlab was mostly known for those using numpy.
Andrea: you are right about the value 100. It should have been 0.5. The original code has a different vector which is tested against 100. I tried to simply reproduce the functionality with a random vector. Thus the confusion. Again, thanks for the input. matt On 1/25/2011 2:36 PM, Andrea Ambu wrote: > > > On Tue, Jan 25, 2011 at 9:13 PM, Matt Funk <maf...@nmsu.edu > <mailto:maf...@nmsu.edu>> wrote: > > Hi, > > i am fairly new to python. I was wondering of the following is do-able > in python: > > 1) a = rand(10,1) > 2) Y = a > 3) mask = Y > 100; > 4) Y(mask) = 100; > 5) a = a+Y > > > No. Not like that. > > You do literally: > a = rand(10, 1) > Y = a > mask = Y>100 > Y = where(mask, 100, Y) > a = a+Y > > > More Pythonically: > a = rand(10, 1) > a = where(a > 100, a + 100, a + a) > > > For those who don't speak Matlab: > > 1) a = rand(10,1) ; generates a 10x1 matrix for random number 0 < n < 1 > 2) Y = a > 3) mask = Y > 100; similar to: mask = [i>100 for i in Y] > 4) Y(mask) = 100; sets to 100 elements of Y with index i for which > mask[i] = True > 5) a = a+Y ; sums the two matrices element by element (like you do in > linear algebra) > > > Anyway... rand generates number from 0 up to 1 (both in python and > matlab)... when are they > 100? > > > > Basically i am getting stuck on line 4). I was wondering if it is > possible or not with python? > (The above is working matlab code) > > thanks > matt > -- > http://mail.python.org/mailman/listinfo/python-list > >
-- http://mail.python.org/mailman/listinfo/python-list