On 4 April 2013 14:40, Sayan Chatterjee <sayanchatter...@gmail.com> wrote: > Dear All, > > I know this error occurs when one tries to multiply a string with a fraction > i.e float. In my case , I can't figure out how can a numpy floating point > array be a string. Interestingly, the concerned expression gets printed in > the loop for the first time but on the second go it fails. > > The concerned snippet of code is given below : > > for t in t_range(0,1,0.1): > print t > p_za=[] > pv_za=[] > > # Opening file in file_t format > fname = 'file_' + str(t) + '.dat' > fo = open(fname,'w') > > # p_za.append(p_initial - t*K*np.sin(K*p_initial)) > print 'K=',K
K is somewhere above set to a float with the value 3.14... > print 'pv_za_temp =',pv_za_temp pv_za_temp is somewhere above set to a list containing an array as it's only element. > print '- t*K*np.sin(K*p_initial) = ',- t*K*np.sin(K*p_initial) > print '-K*np.sin(K*pv_za_temp) = ',-K*np.sin(K*pv_za_temp) Here you try to multiply the two. The error can be achieved like so: >>> import numpy >>> a = numpy.array([[1, 2], [3, 4]]) >>> a array([[1, 2], [3, 4]]) >>> 3.14 * a array([[ 3.14, 6.28], [ 9.42, 12.56]]) >>> 3.14 * [a] Perhaps what you want is to multiply K with pv_za_temp[0]? [SNIP] > K= 3.14159265359 > pv_za_temp = [array([[ -0.00000000e+00, -3.14159265e+00, 6.49753967e-13, > 3.14159265e+00, -1.29950793e-12]])] Oscar _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor