comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Array Concatenation?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Array Concatenation? [message #80749] Fri, 29 June 2012 04:02 Go to next message
rjp23 is currently offline  rjp23
Messages: 97
Registered: June 2010
Member
Hi

I have two 4 dimensional arrays like so:

Array[480, 241, 60, 124]

The 4th dimension (124 elements) is time. I want to concatenate the 1st timestep for the second array to the first array, something like this:


new=[array1, array2[*, *, *, 0]]

But I can't get the syntax correct to do the concatenation on the 4th dimension.

Any ideas what I'm doing wrong? I've tried various levels of []'s but can't get it working.

Cheers
Re: Array Concatenation? [message #80776 is a reply to message #80749] Wed, 11 July 2012 04:15 Go to previous message
Heinz Stege is currently offline  Heinz Stege
Messages: 189
Registered: January 2003
Senior Member
On Wed, 11 Jul 2012 02:10:33 -0700 (PDT), Rob wrote:

> On Friday, June 29, 2012 7:16:33 PM UTC+1, Heinz Stege wrote:
>>
>> David Fanning has written an article about this:
>> http://www.idlcoyote.com/tips/array_concatenation.html
>>
>> HTH, Heinz
>
> Unfortunately I believe the caveat to that article applies here:
>
> "One caveat: a bug in IDL (as I see it) limits the practical concatenation dimension to 3, even though up to 8 dimensions are supported (i.e. only two pairs of extra brackets are allowed per entry... sorry no [[[[[[[a]]]]]]] permitted). You'll need higher magic if you use 8 dimensional datasets anyway. "
>
> I guess what I was really asking was what this "higher magic" was.

I don't know what Davids "higher magic" is. (And up to now I didn't
know about this limitation to IDLs array concatenation.) My first try
would be to merge all dimensions before the one to concatenate by the
reform function:

a=indgen(6,5,4,3,2)
b=indgen(6,5,4,1,2)
a=reform(a,6*5*4,3,2,/overwrite)
b=reform(b,6*5*4,1,2,/overwrite)
c=[[a],[b]]
c=reform(c,6,5,4,4,2,/overwrite)

This results in an array C having the dimensions [6,5,4,4,2].

Cheers, Heinz
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Array Concatenation?
Next Topic: cgwindow and output file name

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:24:15 PDT 2025

Total time taken to generate the page: 0.00542 seconds