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

Home » Public Forums » archive » 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
Interpolation [message #59890] Fri, 11 April 2008 20:05
tarequeaziz is currently offline  tarequeaziz
Messages: 20
Registered: November 2007
Junior Member
Hello All (IDL Gods),

I am back with yet another problem.
I know...I know...its friday night. I apologize for that. But I am
really stuck here for a while.

The problem:

In a certain part of my code I need to do interpolation. The data that
I am dealing with are from a XY grid. I need to convert them to polar
coordinate. So, what I do is following:

a. I generate a radius vector r_vec and a theta array containing
values from zero to 2 pi.
b. Now use the simple polar-to-rectangular coordinate transform i.e. x
= r cos(theta) etc.
c. Using these values I have a xy grid generated through a known r-
theta values.
d. Now think of superimposing the new xy grid(lets call it x'y' ) on
to the old xy grid which contains the real data.
e. This is the part where I need interpolation. I do interpolations to
get the x'y' values from the xy points.

So here's the question:

----- Is there any elegant way of doing this coordinate
transformation ? (And in case you are thinking, "well you already have
the xy data, so why not just convert to r-theta?", I have to say that
the interpolation method actually gives me a way nicer dataset ).


My 2nd trouble is, and this is probably the biggest and dumbest
problem for me.

----- i was playing around with several interpolation routines from
IDl. My boss's suggestion was to use 'bilinear'.
but I thought to give others' a shot too. Problem is, when I am
done with interpolation, result is nothing like what I was
expecting. A run down version of the code is shown below:

=======================start of code================================


Nth= 10.
dth= 1/Nth
r_vec= findgen(Nth)/Nth
theta_vec = findgen(Nth)/Nth * 2.*!Pi

for i=0L,Nth - 1 do begin

x[i]= r_vec[i]* cos(theta_vec)

endfor

for j=0L,Nth - 1 do begin

y[j]= r_vec[j]* sin(theta_vec)

endfor

;print,y


;plot,x,y

------------------------------------------------------------ -----------
Now I create the 'main' dataset on which I am going to use
interpolation scheme.

rr = findgen(20.)/30.
tht = findgen(20.)/30. *2*!Pi

m = fltarr(20,20)


for j=0,19 do begin
for i=0,19 do begin

m[i,j] = rr[i]*cos(tht[j]) + 5.*rr[i]*sin(tht[j])

;print,i
endfor
endfor

m_p=bilinear(m,x,y)

End
=======================End of Code=================================


The problem is, as I mentioned above, when I plot m and the
interpolated m_p, they do not look like similar at all.


Any help will be greatly appreciated.

Thanks in advance.

~tareque
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Create a .dbd file
Next Topic: Re: Geographic Lat/Lon

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

Current Time: Wed Oct 08 17:38:07 PDT 2025

Total time taken to generate the page: 0.00469 seconds