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 #79693 is a reply to message #79680] Thu, 22 March 2012 08:18 Go to previous messageGo to previous message
Russell[1] is currently offline  Russell[1]
Messages: 101
Registered: August 2011
Senior Member
On Mar 22, 8:01 am, Craig Markwardt <craig.markwa...@gmail.com> wrote:
> 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

Ha! I should have read on. I didn't see someone posted this answer.

Sorry for the repetition,
Russell
[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 00:02:32 PST 2025

Total time taken to generate the page: 1.20302 seconds