Hi, Tip: use a meaningful subject line; attracts more/better attention and makes it easier to trace your email in the archives.
Continued at the bottom. > import numpy as np > import matplotlib.pyplot as plt > E=[81.97400737666324, 322.0939978589591, 694.5766491226185] > V0=1000 > a=0.1 > def V(x): > if x > -a and x < a: > return 0 > return V0 > > V=np.vectorize(V) > #psi=np.vectorize(psi) > x= np.linspace(-1.5*a,1.5*a,100) > > plt.plot(x,V(x)) > plt.xlim(-5*a,5*a) > plt.ylim(-.001*V0,1.01*V0) > for m in E: > x1=np.linspace(-a,+a,100) > #y=m > #plt.xlim(-5*a,5*a) > #plt.axhline(m) > #y=np.vectorize(y) > plt.plot(x1,m) > #plt.show() > print m > > Error: > --------------------------------------------------------------------------- > 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\as\uy.py in <module>() > 23 #plt.axhline(m) > > 24 #y=np.vectorize(y) > > ---> 25 plt.plot(x1,m) > 26 #plt.show() > > 27 print m > > C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in plot(*args, **kwargs) > 2456 ax.hold(hold) > 2457 try: > -> 2458 ret = ax.plot(*args, **kwargs) > 2459 draw_if_interactive() > 2460 finally: > > C:\Python27\lib\site-packages\matplotlib\axes.pyc in plot(self, *args, > **kwargs) > 3846 lines = [] > 3847 > -> 3848 for line in self._get_lines(*args, **kwargs): > 3849 self.add_line(line) > 3850 lines.append(line) > > C:\Python27\lib\site-packages\matplotlib\axes.pyc in > _grab_next_args(self, *args, **kwargs) > 321 return > 322 if len(remaining) <= 3: > --> 323 for seg in self._plot_args(remaining, kwargs): > 324 yield seg > 325 return > > C:\Python27\lib\site-packages\matplotlib\axes.pyc in _plot_args(self, > tup, kwargs) > 298 x = np.arange(y.shape[0], dtype=float) > 299 > --> 300 x, y = self._xy_from_xy(x, y) > 301 > 302 if self.command == 'plot': > > C:\Python27\lib\site-packages\matplotlib\axes.pyc in _xy_from_xy(self, x, y) > 238 y = np.atleast_1d(y) > 239 if x.shape[0] != y.shape[0]: > --> 240 raise ValueError("x and y must have same first dimension") > 241 if x.ndim > 2 or y.ndim > 2: > 242 raise ValueError("x and y can be no greater than 2-D") > > ValueError: x and y must have same first dimension Read the error message: *same (first) dimension* Then search where in your program the exception occurred: C:\Users\as\uy.py in <module>() 23 #plt.axhline(m) 24 #y=np.vectorize(y) ---> 25 plt.plot(x1,m) 26 #plt.show() 27 print m So, x1 and m don't have the same first dimension. Try printing x1 and m before this statement (not after, like you did for m); just as a debug line. Then see if you can figure out why m isn't what probably you want it to be. Good luck, Evert > > > Question: > then how to plot those specific component of E within the square well omly? > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor