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

Home » Public Forums » archive » Re: changing matrix size using interpolation
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
Re: changing matrix size using interpolation [message #74419] Mon, 17 January 2011 07:52
oxfordenergyservices is currently offline  oxfordenergyservices
Messages: 56
Registered: January 2009
Member
On Jan 17, 2:59 pm, David Fanning <n...@dfanning.com> wrote:
> David Fanning writes:
>> I think most people use the CONGRID command, with the INTERP
>> keyword set.
>
>>   b = Congrid(a, 7, 7, /INTERP)
>
> And now that I think about it, I think the CENTER keyword
> should probably be set, too, especially if you are working
> with small arrays.
>
>    b = Congrid(a, 7, 7, /INTERP, /CENTER)
>
> Cheers,
>
> David

Thanks David

I tried both ways, they look identical (in tv,bytscl and shade_surf)
but they do different things outside the topographic region (ie sea
level) when /cubic is set. They also seem to have 5% difference on
the land, but could be due to subtly different algorithms
Re: changing matrix size using interpolation [message #74422 is a reply to message #74419] Mon, 17 January 2011 06:59 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
David Fanning writes:

> I think most people use the CONGRID command, with the INTERP
> keyword set.
>
> b = Congrid(a, 7, 7, /INTERP)

And now that I think about it, I think the CENTER keyword
should probably be set, too, especially if you are working
with small arrays.

b = Congrid(a, 7, 7, /INTERP, /CENTER)

Cheers,

David


--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: changing matrix size using interpolation [message #74423 is a reply to message #74422] Mon, 17 January 2011 06:57 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
geoff writes:

> I think this might not be too hard but it would be great to have a
> pointer to the routines...
>
> I have a x by y matrix (of elevations for a topographic map)
>
> I want to turn it into a new matrix which is n by m where n and m
> could be greater or less than x or y and not necessarily an integer
> multiple or fraction.
>
> I have tried this...
>
> x=4.0
> y=4.0
>
> a=findgen(x,y)
>
> m=7.0
> n=7.0
>
> b=interpolate(a,findgen(m)*(x-1)/(m-1),findgen(n)*(y-1)/(n-1 ),/
> GRID,missing=-1)
>
> print,a
> print,b
>
> and it seems to work, but this must have been done many times before
> and just wanted to check I'm right?

I think most people use the CONGRID command, with the INTERP
keyword set.

b = Congrid(a, 7, 7, /INTERP)

Cheers,

David



--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Secondary axis in NG
Next Topic: IDL routine to fill in gaps in line? / Searching IDL routine libraries?

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

Current Time: Fri Oct 10 13:26:43 PDT 2025

Total time taken to generate the page: 1.43846 seconds