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

Home » Public Forums » archive » Re: Replicate array over columns - using transpose?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Replicate array over columns - using transpose? [message #79695 is a reply to message #79694] Thu, 22 March 2012 05:01 Go to previous messageGo to previous message
Craig Markwardt is currently offline  Craig Markwardt
Messages: 1869
Registered: November 1996
Senior Member
On Thursday, March 22, 2012 6:11:54 AM UTC-4, robintw wrote:
> Hi all,
>
> I've got an array, a, as follows:
>
> IDL> print, a
> 10.0000 35.0000 60.0000 85.0000 110.000
>
> I want to replicate this across 4 columns to produce an array like the
> following:
>
> 10 10 10 10
> 35 35 35 35
> 60 60 60 60
> 85 85 85 85
> 110 110 110 110
>
> I'm using the CMREPLICATE routine to do this, and get the following:
>
> IDL> print, CMREPLICATE(a, 4)
> 10.0000 35.0000 60.0000 85.0000 110.000
> 10.0000 35.0000 60.0000 85.0000 110.000
> 10.0000 35.0000 60.0000 85.0000 110.000
> 10.0000 35.0000 60.0000 85.0000 110.000
>
> However, I want to replicate it in the columns as in the example above.
> As far as I can see it there are two ways to deal with this: transpose
> the array after I've done it (computationally expensive, as I'll be
> doing it with far larger arrays in the real program) or transpose it
> before running CMREPLICATE. However, if I do this I get an extra
> dimension added:
>
> IDL> help, CMREPLICATE(transpose(a), 4)
> <Expression> FLOAT = Array[1, 5, 4]
>
> Is there a way to replicate over the columns without adding this extra
> dimension? I'm sure I'm missing something simple here.

I'm the CM in CMreplicate, but I wouldn't use CMreplicate. I use this instead.

print, [1,1,1,1,1] # a

Usually I'm matching up X and Y labels to a 2D grid, so I do this,

XX = (X*0 + 1) # Y
YY = X # (Y*0 + 1)

Now XX and YY are 2D arrays with X running along one axis and Y running along the other axis. It looks crazy, but it works.

Craig
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: external string EXP for MATH_DOIT (ENVI)
Next Topic: Coyote graphics and resizeable draw widgets

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

Current Time: Sun Nov 30 07:04:22 PST 2025

Total time taken to generate the page: 0.24115 seconds