setting an array element with sequence problem problem
Robert Kern
robert.kern at gmail.com
Fri Apr 27 14:56:53 EDT 2012
On 4/27/12 7:18 PM, Debashish Saha wrote:
You will want to ask numpy questions on the numpy mailing list.
http://www.scipy.org/Mailing_Lists
When you do, I recommend stating a clear question in addition to the code and
the traceback (although those are very much appreciated). But just to get you on
your way, remove the np.vectorize() line (you don't need it) and double-check
the order of arguments that you are passing to delta_l(K,l).
> from __future__ import division
> from numpy import*
> import numpy as np
> import matplotlib.pyplot as plt
> from scipy.special import jv
> from scipy.special import yn
>
>
> h_cross=1
> m=1
> E=np.linspace(0.1,10,100)
>
> V0=-100
> R=2
> K=(2*E)**0.5
> K_P=(2*(E-V0))**0.5
>
>
>
>
> '''r=np.linspace(-10,10,1000)
> def V(r):
> if r>0 and r<R:
> return V0
> return 0
> V=np.vectorize(V)
> ax.set_ylim(-200,10)
> plt.plot(r,V(r))'''
>
>
> def sph_jv(l,r):
> return (pi/(2*r))**0.5*jv(l+0.5,r)
>
>
>
> def sph_yn(l,r):
> return (pi/(2*r))**0.5*yn(l+0.5,r)
>
>
>
>
> def delta_l(K,l):
> return arctan(((K_P*R)**2*sph_jv(l,K*R)-(2*l+3)*(K*R)*sph_jv(l+1,K*R))/((K_P*R)**2*sph_yn(l,K*R)-(2*l+3)*(K*R)*sph_yn(l+1,K*R)))
> l=6
> delta_l=np.vectorize(delta_l)
> plt.plot(K,delta_l(l,K))
>
> plt.show()
>
>
>
>
>
> ValueError Traceback (most recent call last)
> C:\Python27\lib\site-packages\IPython\utils\py3compat.pyc in
> execfile(fname, glob, loc)
> 166 else:
> 167 filename = fname
> --> 168 exec compile(scripttext, filename, 'exec') in glob, loc
> 169 else:
> 170 def execfile(fname, *where):
>
> C:\Users\Neeraj\Desktop\14.py in<module>()
> 45 l=6
> 46 delta_l=np.vectorize(delta_l)
> ---> 47 plt.plot(K,delta_l(l,K))
> 48
> 49 display(gcf())
>
> C:\Python27\lib\site-packages\numpy\lib\function_base.pyc in
> __call__(self, *args)
> 1880 if self.nout == 1:
> 1881 _res = array(self.ufunc(*newargs),copy=False,
> -> 1882 subok=True,dtype=self.otypes[0])
> 1883 else:
> 1884 _res = tuple([array(x,copy=False,subok=True,dtype=c) \
>
> ValueError: setting an array element with a sequence.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list