On Fri, 2004-12-17 at 13:39, kjm wrote: > Hi Everyone, > > I am trying to port some old MatLab code to python, and am stuck on > how to accomplish something. > > I am trying to write a generalized function that will create a > linearly spaced vector, given the start and end point, and the number > of entries wanted. > > In MatLab I have this function that I wrote: > > [code] > > function out = linearspace(x1,x2,n) > > out = [x1+ (0:n-2)*(x2 - x1)/(floor(n)-1) x2]; > > return > > > [/code] > > > I have the numeric package, numarray installed, and I think it should > be accomplished easily, but I just can't seem to get the syntax > correct with python. > > Any tips would be greatly appreciated. > > > Thanks
Is this want you want? #!/usr/bin/python def linear_space( start, end, count ): """ Returns a vector containing count evently spaced intervals (count + 1 evenly spaced points) """ delta = (end-start) / float(count) return [start,] + \ map( lambda x:delta*x + start, range( 1, count ) ) + [end, ] if __name__ == "__main__": print linear_space( 1.0, 2.0, 10 ) Running it gives you: [1.0, 1.1000000000000001, 1.2, 1.3, 1.3999999999999999, 1.5, 1.6000000000000001, 1.7000000000000002, 1.8, 1.8999999999999999, 2.0] Adam DePrince -- http://mail.python.org/mailman/listinfo/python-list