[SciPy-User] [SciPy-user] ValueError: arrays must have same number of dimensions
Oleksandr Huziy
guziy.sasha@gmail....
Thu Jun 28 11:59:51 CDT 2012
It asked for the same number of dimensions so it needed to be 2,
that is why reshape (you get 2 dimensions but the size of the second is 1),
and transpose, because
the dimensions, other than the one along which you are concatenating should
be of the same size.
Cheers
__
Oleksandr Huziy
2012/6/28 surfcast23 <surfcast23@gmail.com>
>
> Hi sanGuziy,
>
> That did it. Thank you! can you explain why it worked for future
> reference?
>
> Khary
>
>
>
> sanGuziy wrote:
> >
> > Try this
> >
> > data = np.concatenate((v.reshape((512,1)).transpose(), k))
> >
> > Cheers
> > --
> > Oleksandr Huziy
> >
> > 2012/6/28 surfcast23 <surfcast23@gmail.com>
> >
> >>
> >> Hi Tony,
> >>
> >> I tried you r translation and it works, but I still get the error
> >>
> >> line 50, in <module> data = np.concatenate((v, k),axis = 0);
> >> ValueError: arrays must have same number of dimensions
> >>
> >> Thanks,
> >> Khary
> >>
> >>
> >>
> >> Tony Yu-3 wrote:
> >> >
> >> > On Thu, Jun 28, 2012 at 11:48 AM, Jorge E. ´Sanchez Sanchez <
> >> > hnry2k@hotmail.com> wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> it seems to me that you don't know that loops in python end before
> the
> >> >> last index value of the loop,
> >> >> you just need to do something like:
> >> >> Np1 = N+1
> >> >> for j in range (1, Np1):
> >> >>
> >> >> HTH
> >> >> Best Regards
> >> >> Jorge
> >> >>
> >> >
> >> >>
> >> >> > Date: Thu, 28 Jun 2012 08:32:47 -0700
> >> >> > From: surfcast23@gmail.com
> >> >> > To: scipy-user@scipy.org
> >> >> > Subject: [SciPy-User] [SciPy-user] ValueError: arrays must have
> same
> >> >> number of dimensions
> >> >>
> >> >> >
> >> >> >
> >> >> > Hi I am trying to translate a Matlab code from Trefethen's Spectral
> >> >> Methods
> >> >> > in MATLAB to Python. I am running into a problem with
> >> numpy.concatenate
> >> >> > wanting the arrays to have the same number of dimensions.
> >> >> > Here is part of the Matlab code that I am rewriting
> >> >> >
> >> >> >
> >> >> > N = 512; h = 2*pi/N; x = h*(1:N); t = 0; dt = h/4;
> >> >> > a = .1;
> >> >> > c = a + sin (x-1).^2;
> >> >> > v = exp(-100*(x-1).^2); vold = exp(-100*(x-a*dt-1).^2);
> >> >> >
> >> >> > column = [0 .5*(-1).^(1:N-1).*cot((1:N-1)*h/2)];
> >> >> > D = toeplitz(column,-column);
> >> >> >
> >> >> > % Time-stepping by leap frog formula:
> >> >> > tmax = 15; tplot = .15; clf, drawnow, set(gcf,'renderer','zbuffer')
> >> >> > plotgap = round(tplot/dt); dt = tplot/plotgap;
> >> >> > nplots = round(tmax/tplot);
> >> >> > data = [v; zeros(nplots,N)]; tdata = t;
> >> >> >
> >> >> >
> >> >> > What I am trying in Python
> >> >> >
> >> >> > for j in range(1,N):
> >> >>
> >> >
> >> > [snip]
> >> >
> >> > You actually don't need to loop. Your original matlab code translates
> >> > fairly naturally into numpy code: the main difference being the
> >> > substitution of `np.arange(N) + 1` for `[1:N]`, where `np.arange(N)`
> >> gives
> >> > values from 0 to N - 1, as Jorge suggests (although it's not specific
> >> to
> >> > loops).
> >> >
> >> > Here's a rough translation (not tested against matlab output, so I
> >> could
> >> > have made some errors in the translation).
> >> >
> >> > Cheers,
> >> > -Tony
> >> >
> >> > #~~~ code
> >> > import numpy as np
> >> > from scipy.linalg import toeplitz
> >> > from scipy.special import cotdg
> >> >
> >> > N = 512
> >> > h = 2 * np.pi/N
> >> > x = h * (np.arange(N) + 1)
> >> > t = 0
> >> > dt = h / 4
> >> > a = .1
> >> > c = a + np.sin(x - 1)**2
> >> > v = np.exp(-100 * (x - 1)**2)
> >> > vold = np.exp(-100 * (x - a*dt - 1)**2)
> >> >
> >> > i = np.arange(1, N)
> >> > column = np.hstack([0, .5 * (-1**i) * cotdg(i * h/2)])
> >> > D = toeplitz(column, -column)
> >> >
> >> > _______________________________________________
> >> > SciPy-User mailing list
> >> > SciPy-User@scipy.org
> >> > http://mail.scipy.org/mailman/listinfo/scipy-user
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/ValueError%3A-arrays-must-have-same-number-of-dimensions-tp34086886p34087216.html
> >> Sent from the Scipy-User mailing list archive at Nabble.com.
> >>
> >> _______________________________________________
> >> SciPy-User mailing list
> >> SciPy-User@scipy.org
> >> http://mail.scipy.org/mailman/listinfo/scipy-user
> >>
> >
> > _______________________________________________
> > SciPy-User mailing list
> > SciPy-User@scipy.org
> > http://mail.scipy.org/mailman/listinfo/scipy-user
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/ValueError%3A-arrays-must-have-same-number-of-dimensions-tp34086886p34087320.html
> Sent from the Scipy-User mailing list archive at Nabble.com.
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120628/ca47feb7/attachment.html
More information about the SciPy-User
mailing list