comp.lang.idl-pvwave archive - RDF feed
type: channel
description: Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
items: Interpolation
items: Re: Interpolation
items: Re: interpolation

Interpolation
type: item
description: I am using IDL to process and display 3D data. At some stage, I have to interpolate a volume p=p(x,y,z) or a surface z=z(x,y) defined on an irregular grid onto a regular grid. Does any one know any IDL program that has this capability? Thanks in advance. jun@eureka.columbia.edu
creator: jun
date: 1994-06-02T17:44:56-00:00

Re: Interpolation
type: item
description: In article <2sl5qo$h1q@apakabar.cc.columbia.edu> jun@eureka.phys.columbia.edu (Jun Xu) writes: > I am using IDL to process and display 3D data. At some stage, I have to > interpolate a volume p=p(x,y,z) or a surface z=z(x,y) defined on an irregular > grid onto a regular grid. Does any one know any IDL program that has this > capability? hi, Well, it depends on how mathimaticly correct you need this stuff. I believe you could do some very very complicated stuff here, but there is a relatively simple solution. Use the trigrid and triangulate procedures in IDL. In the Reference manual, there is a good example in the Trigrid section of how this works. -hope this help (sorry, but I am no mathimatician. Cannot spell fro squate either!) -stephen -- Stephen C Strebel / SKI TO DIE stl@maz.sma.ch / and Swiss Meteorological Institute, Zuerich / LIVE TO TELL ABOUT IT 01 256 93 85 / (and pray for snow)
creator: stl
date: 1994-06-03T08:14:33-00:00

Re: Interpolation
type: item
description: On Apr 11, 11:05 pm, tarequea...@gmail.com wrote: > 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 > > ------------------…
creator: ben.bighair
date: 2008-04-12T15:57:08-00:00

Re: Interpolation
type: item
description: On Apr 12, 11:57 am, "ben.bighair" <ben.bigh...@gmail.com> wrote: > On Apr 11, 11:05 pm, tarequea...@gmail.com wrote: > > > >> 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…
creator: tarequeaziz
date: 2008-04-12T20:24:26-00:00

Re: Interpolation
type: item
description: On Apr 12, 4:24 pm, tarequea...@gmail.com wrote: > On Apr 12, 11:57 am, "ben.bighair" <ben.bigh...@gmail.com> wrote: > > > >> On Apr 11, 11:05 pm, tarequea...@gmail.com wrote: > >>> 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 > >…
creator: ben.bighair
date: 2008-04-12T22:26:48-00:00

Re: Interpolation
type: item
description: On Apr 12, 6:26 pm, "ben.bighair" <ben.bigh...@gmail.com> wrote: > On Apr 12, 4:24 pm, tarequea...@gmail.com wrote: > > > >> On Apr 12, 11:57 am, "ben.bighair" <ben.bigh...@gmail.com> wrote: > >>> On Apr 11, 11:05 pm, tarequea...@gmail.com wrote: > >>>> 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================================ >…
creator: tarequeaziz
date: 2008-04-13T00:56:57-00:00

Re: Interpolation
type: item
description: On Apr 13, 1:56 am, tarequea...@gmail.com wrote: > Step one: Real data in a XY frame > Step two: 'Design a new xy frame, say X'Y' frame, whose values are > generated from a chosen r_vec and theta_vec. > Step 3: Now interpolate from XY to X'Y'. > > Tareque Hi Tareque, I'm guessing you know whereabouts your small frame is, within your big frame, right? So, if you take your big normal (x'y') frame, your small frame can be defined by two points, bottom-left and top-right - let's call them (b,l) & (t,r) - in terms of x'y' grid co-oords. ----- ; Once you've worked out where these two points are, you can use CONGRID on your xy dataset: tempx = r - l ; How many data points of the x'y' grid does the xy grid span tempy = t - b ; in each dimension? ; interpolate to new sub-grid newdata = congrid(data, tempx, tempy) ; Your x'y' frame co-ordinates for this data are newx = l + lindgen(tempx) newy = b + lindgen(tempy) ; (this bit is just array juggling to avoid for loops) newx = rebin(newx,tempx,tempy) newy = rebin(reform(newy,1,tempy),tempx,tempy) newx = reform(newx,n_elements(newx)) newy = reform(newy,n_elements(newy)) ; x'y' co-ordinates for ever datapoint in 'newdata' xycoords = transpose([[newx],[newy]]) ; so your new data should be at r/theta co-ordinates defined by: polarcoords = cv_coord(from_rect = xycoords, /to_polar) ----- I've assumed that your big circle is centered on the origin. I've also assumed your small circle is in the upper-right quadrant of your large circle here, so I don't have to wrap my mind around minus-signs and the like... I hope this helps and that I've understood your question correctly. :-) Regards, Chris
creator: Spon
date: 2008-04-14T15:34:15-00:00

Re: Interpolation
type: item
description: Weird. I've just noticed that while on my work computer (XP Pro / Firefox) the font I read google groups in can distinguish between 1(one) and l(L), at home, (XP Home/Firefox) they both look the same. In the above code, all 'l' are the letter L except in this line: newy = rebin(reform(newy,1,tempy),tempx,tempy) where the 1 is a 'one'. Must see if I can set up my default browser fonts better, or something. Chris
creator: Spon
date: 2008-04-14T18:44:48-00:00

Re: Interpolation
type: item
description: On Apr 14, 11:34 am, Spon <christoph.b...@gmail.com> wrote: > On Apr 13, 1:56 am, tarequea...@gmail.com wrote: > >> Step one: Real data in a XY frame >> Step two: 'Design a new xy frame, say X'Y' frame, whose values are >> generated from a chosen r_vec and theta_vec. >> Step 3: Now interpolate from XY to X'Y'. > >> Tareque > > Hi Tareque, > > I'm guessing you know whereabouts your small frame is, within your big > frame, right? > So, if you take your big normal (x'y') frame, your small frame can be > defined by two points, > bottom-left and top-right - let's call them (b,l) & (t,r) - in terms > of x'y' grid co-oords. > > ----- > ; Once you've worked out where these two points are, you can use > CONGRID on your xy dataset: > tempx = r - l ; How many data points of the x'y' grid does the xy grid > span > tempy = t - b ; in each dimension? > > ; interpolate to new sub-grid > newdata = congrid(data, tempx, tempy) > > ; Your x'y' frame co-ordinates for this data are > newx = l + lindgen(tempx) > newy = b + lindgen(tempy) > > ; (this bit is just array juggling to avoid for loops) > newx = rebin(newx,tempx,tempy) > newy = rebin(reform(newy,1,tempy),tempx,tempy) > newx = reform(newx,n_elements(newx)) > newy = reform(newy,n_elements(newy)) > > ; x'y' co-ordinates for ever datapoint in 'newdata' > xycoords = transpose([[newx],[newy]]) > > ; so your new data should be at r/theta co-ordinates defined by: > polarcoords = cv_coord(from_rect = xycoords, /to_polar) > ----- > > I've assumed that your big circle is centered on the origin. > I've also assumed your small circle is in the upper-right quadrant of > your large circle here, > so I don't have to wrap my mind around minus-signs and the like... > > I hope this helps and that I've understood your question > correctly. :-) > > Regards, > Chris Hi Chris, Thank you so much for getting back at this. Without your permission I sent a picture of my set up. Hope that will be able to shed some light on it. Once again, much appreciated!…
creator: tarequeaziz
date: 2008-04-14T20:13:12-00:00

Re: interpolation
type: item
description: On Dec 7, 3:46 pm, anil <akpinar.a...@gmail.com> wrote: > Hi, > I have many ascii files which contain a header , 5 columns of data . > Number of rows for each data is different. Here is an example of the > data: > > 7.5 14.552 17.698 14.551 12.7623 > 9.6 14.547 17.700 14.546 12.7648 > 14.6 14.462 17.713 14.460 12.7903 > 19.4 14.341 17.737 14.339 12.8307 > 24.4 14.161 17.780 14.158 12.8962 > 29.3 13.704 17.921 13.701 13.0851 > 34.6 12.313 17.986 12.309 13.3670 > 39.2 9.622 18.062 9.619 13.8134 > 44.5 8.659 18.165 8.655 14.0121 > 49.7 8.451 18.194 8.447 14.0590 > 54.3 8.221 18.257 8.217 14.1343 > 59.4 7.938 18.324 7.934 14.2180 > 64.8 7.808 18.441 7.803 14.3237 > 69.5 7.880 18.617 7.875 14.4536 > 74.5 7.923 18.924 7.917 14.6890 > 79.4 8.040 19.190 8.034 14.8840 > 84.3 8.100 19.372 8.093 15.0196 > 89.8 8.050 19.613 8.043 15.2137 > 94.6 8.069 19.781 8.062 15.3429 > 99.3 8.076 19.922 8.068 15.4524 > 109.7 8.235 20.314 8.226 15.7404 > 169.3 8.564 21.193 8.550 16.3880 > 179.3 8.602 21.269 8.587 16.4428 > 189.3 8.632 21.327 8.616 16.4844 > 199.1 8.659 21.378 8.642 16.5210 > 209.6 8.680 21.424 8.662 16.5544 > 219.3 8.708 21.482 8.689 16.5963 > 229.2 8.733 21.527 8.713 16.6283 > 239.4 8.755 21.570 8.734 16.6592 > 249.4 8.768 21.617 8.746 16.6944 > 259.3 8.777 21.649 8.754 16.7183 > 268.9 8.788 21.678 8.764 16.7397 > 278.9 8.796 21.700 8.771 16.7559 > 289.1 8.806 21.733 8.781 16.7805 > 298.9 8.834 21.764 8.808 16.8013 > 324.2 8.834 21.813 8.805 16.8398 > 349.1 8.854 21.864 8.823 16.8773 > 374.4 8.861 21.896 8.828 16.9017 > 399.5 8.861 21.916 8.825 16.9176 > 424.1 8.866 21.935 8.828 16.9321 > 449.1 8.871 21.958 8.831 16.9497 > 474.3 8.878 21.982 8.835 16.9678 > 499.5 8.881 22.005 8.836 16.9857 > 524.2 8.885 22.028 8.837 17.0034 > 549.1 8.889 22.048 8.839 17.0188 > 574.0 8.892 22.072 8.840 17.0375 > 599.0 8.895 22.100 8.840 17.0592 > 649.4 8.900 22.137 8.840 17.0881 > 699.5 8.907 22.169 8.842 17.1128 > 749.4 8.913 22.195 8.843 17.1329 > 799.3 8.921 22.215 8.847 17.1481 > 849.3 8…
creator: anil
date: 2011-12-07T13:48:26-00:00

Re: interpolation
type: item
description: On Dec 7, 3:46 pm, anil <akpinar.a...@gmail.com> wrote: > Hi, > I have many ascii files which contain a header , 5 columns of data . > Number of rows for each data is different. Here is an example of the > data: > > 7.5 14.552 17.698 14.551 12.7623 > 9.6 14.547 17.700 14.546 12.7648 > 14.6 14.462 17.713 14.460 12.7903 > 19.4 14.341 17.737 14.339 12.8307 > 24.4 14.161 17.780 14.158 12.8962 > 29.3 13.704 17.921 13.701 13.0851 > 34.6 12.313 17.986 12.309 13.3670 > 39.2 9.622 18.062 9.619 13.8134 > 44.5 8.659 18.165 8.655 14.0121 > 49.7 8.451 18.194 8.447 14.0590 > 54.3 8.221 18.257 8.217 14.1343 > 59.4 7.938 18.324 7.934 14.2180 > 64.8 7.808 18.441 7.803 14.3237 > 69.5 7.880 18.617 7.875 14.4536 > 74.5 7.923 18.924 7.917 14.6890 > 79.4 8.040 19.190 8.034 14.8840 > 84.3 8.100 19.372 8.093 15.0196 > 89.8 8.050 19.613 8.043 15.2137 > 94.6 8.069 19.781 8.062 15.3429 > 99.3 8.076 19.922 8.068 15.4524 > 109.7 8.235 20.314 8.226 15.7404 > 169.3 8.564 21.193 8.550 16.3880 > 179.3 8.602 21.269 8.587 16.4428 > 189.3 8.632 21.327 8.616 16.4844 > 199.1 8.659 21.378 8.642 16.5210 > 209.6 8.680 21.424 8.662 16.5544 > 219.3 8.708 21.482 8.689 16.5963 > 229.2 8.733 21.527 8.713 16.6283 > 239.4 8.755 21.570 8.734 16.6592 > 249.4 8.768 21.617 8.746 16.6944 > 259.3 8.777 21.649 8.754 16.7183 > 268.9 8.788 21.678 8.764 16.7397 > 278.9 8.796 21.700 8.771 16.7559 > 289.1 8.806 21.733 8.781 16.7805 > 298.9 8.834 21.764 8.808 16.8013 > 324.2 8.834 21.813 8.805 16.8398 > 349.1 8.854 21.864 8.823 16.8773 > 374.4 8.861 21.896 8.828 16.9017 > 399.5 8.861 21.916 8.825 16.9176 > 424.1 8.866 21.935 8.828 16.9321 > 449.1 8.871 21.958 8.831 16.9497 > 474.3 8.878 21.982 8.835 16.9678 > 499.5 8.881 22.005 8.836 16.9857 > 524.2 8.885 22.028 8.837 17.0034 > 549.1 8.889 22.048 8.839 17.0188 > 574.0 8.892 22.072 8.840 17.0375 > 599.0 8.895 22.100 8.840 17.0592 > 649.4 8.900 22.137 8.840 17.0881 > 699.5 8.907 22.169 8.842 17.1128 > 749.4 8.913 22.195 8.843 17.1329 > 799.3 8.921 22.215 8.847 17.1481 > 849.3 8…
creator: anil
date: 2011-12-07T13:51:00-00:00

Re: interpolation
type: item
description: I'm not exactly sure what the issue is, but interpol seems to work fine? readcol,'data.dat',depth,temp,salinity,pot_temp,density thisdepth=findgen(300)*5 ;the values where you want the temperature -- whose derivative changes sign thistemp=interpol(temp,depth,thisdepth) You might add /quad or /lsq for a better fit, or even use a better spline routine... Russell On Dec 7, 8:51 am, anil <akpinar.a...@gmail.com> wrote: > On Dec 7, 3:46 pm, anil <akpinar.a...@gmail.com> wrote: > > > > > > > > > >> Hi, >> I have many ascii files which contain a header , 5 columns of data . >> Number of rows for each data is different. Here is an example of the >> data: > >> 7.5 14.552 17.698 14.551 12.7623 >> 9.6 14.547 17.700 14.546 12.7648 >> 14.6 14.462 17.713 14.460 12.7903 >> 19.4 14.341 17.737 14.339 12.8307 >> 24.4 14.161 17.780 14.158 12.8962 >> 29.3 13.704 17.921 13.701 13.0851 >> 34.6 12.313 17.986 12.309 13.3670 >> 39.2 9.622 18.062 9.619 13.8134 >> 44.5 8.659 18.165 8.655 14.0121 >> 49.7 8.451 18.194 8.447 14.0590 >> 54.3 8.221 18.257 8.217 14.1343 >> 59.4 7.938 18.324 7.934 14.2180 >> 64.8 7.808 18.441 7.803 14.3237 >> 69.5 7.880 18.617 7.875 14.4536 >> 74.5 7.923 18.924 7.917 14.6890 >> 79.4 8.040 19.190 8.034 14.8840 >> 84.3 8.100 19.372 8.093 15.0196 >> 89.8 8.050 19.613 8.043 15.2137 >> 94.6 8.069 19.781 8.062 15.3429 >> 99.3 8.076 19.922 8.068 15.4524 >> 109.7 8.235 20.314 8.226 15.7404 >> 169.3 8.564 21.193 8.550 16.3880 >> 179.3 8.602 21.269 8.587 16.4428 >> 189.3 8.632 21.327 8.616 16.4844 >> 199.1 8.659 21.378 8.642 16.5210 >> 209.6 8.680 21.424 8.662 16.5544 >> 219.3 8.708 21.482 8.689 16.5963 >> 229.2 8.733 21.527 8.713 16.6283 >> 239.4 8.755 21.570 8.734 16.6592 >> 249.4 8.768 21.617 8.746 16.6944 >> 259.3 8.777 21.649 8.754 16.7183 >> 268.9 8.788 21.678 8.764 16.7397 >> 278.9 8.796 21.700 8.771 16.7559 >> 289.1 8.806 21.733 8.781 16.7805 >> 298.9 8.834 21.764 8.808 16.8013 >> 324.2 8.834 21.813 8.805 16.8398 >> 349.1 8.854 21.864 8.823 16.8773 >> 374.4 8.861 21.8…
creator: Russell[1]
date: 2011-12-07T16:42:22-00:00

Re: interpolation
type: item
description: On Dec 7, 6:42 pm, Russell <rryan....@gmail.com> wrote: > I'm not exactly sure what the issue is, but interpol seems to work > fine? > > readcol,'data.dat',depth,temp,salinity,pot_temp,density > thisdepth=findgen(300)*5 ;the values where you want the temperature > -- whose derivative changes sign > thistemp=interpol(temp,depth,thisdepth) > > You might add /quad or /lsq for a better fit, or even use a better > spline routine... > > Russell > > > This is not working for sure! When I do this I get negative values and numbers as -3000,-4165 etc.. whereas my temperature range is between 4 and 26.
creator: anil
date: 2011-12-07T17:50:31-00:00

Re: interpolation
type: item
description: On 12/7/11 5:50 PM, anil wrote: > On Dec 7, 6:42 pm, Russell<rryan....@gmail.com> wrote: >> I'm not exactly sure what the issue is, but interpol seems to work >> fine? >> >> readcol,'data.dat',depth,temp,salinity,pot_temp,density >> thisdepth=findgen(300)*5 ;the values where you want the temperature >> -- whose derivative changes sign >> thistemp=interpol(temp,depth,thisdepth) >> >> You might add /quad or /lsq for a better fit, or even use a better >> spline routine... >> >> Russell >> >> >> > > This is not working for sure! When I do this I get negative values and > numbers as -3000,-4165 etc.. whereas my temperature range is between 4 > and 26. Russell's code certainly works perfectly well on the data you provided. -Jeremy.
creator: Jeremy Bailin
date: 2011-12-07T20:07:58-00:00

Re: interpolation
type: item
description: Jeremy Bailin writes: > Russell's code certainly works perfectly well on the data you provided. You may have to consider the unthinkable: a problem with your own code! ;-) 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.")
creator: David Fanning
date: 2011-12-07T20:13:04-00:00

Re: interpolation
type: item
description: It does seem unlikely that one could *interpolate* and get values that were outside the bounds of the original data. ;)
creator: Brian Wolven
date: 2011-12-07T20:27:52-00:00

Re: interpolation
type: item
description: In article < 12296280.447.1323289672656.JavaMail.geo-discussion-forums@yq q16 >, Brian Wolven <brian.wolven@gmail.com> wrote: > It does seem unlikely that one could *interpolate* and get values that were > outside the bounds of the original data. ;) With linear interpolation that is certainly true, but it can occur with higher order schemes. Interpolation usually guarantees only that the interpolating function passes through the known data points. If you take the spline interpolation example in my book http://csrp.tamu.edu/pdf/idl/sample_chapter.pdf and compute the result at high resolution, you will see that the spline function overshoots the tabulated points. Cheers, Ken Bowman
creator: Kenneth P. Bowman
date: 2011-12-07T22:25:39-00:00

Re: interpolation
type: item
description: On Dec 7, 10:13 pm, David Fanning <n...@dfanning.com> wrote: > Jeremy Bailin writes: >> Russell's code certainly works perfectly well on the data you provided. > > You may have to consider the unthinkable: a problem with > your own code! ;-) > > 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.") Ok. I've found the problem.It is because of the loops etc.. i have used previously. I've fixed it and now Russell's code works fine for my case. The only problem I have now is that: I have certain number of desired depth values which I assign as : depth2=indgen(310)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) and temp2,sal2,potemp2,den2 are the values corresponding to these depths. I should have a depth range of 5 to 1550(or 1540)m but in some data ,I only have depths up to 100m or 300 in some other. So i have done this instead: step=(fix(max(p))-fix(min(p)))/5 depth2=indgen(step)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) because of fix I lose 1 or 2 data points. But it is not so important for my case. Thank you all for helping out. Regards, ANIL
creator: anil
date: 2011-12-08T12:15:10-00:00

Re: interpolation
type: item
description: On Dec 7, 10:13 pm, David Fanning <n...@dfanning.com> wrote: > Jeremy Bailin writes: >> Russell's code certainly works perfectly well on the data you provided. > > You may have to consider the unthinkable: a problem with > your own code! ;-) > > 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.") Ok. I've found the problem.It is because of the loops etc.. i have used previously. I've fixed it and now Russell's code works fine for my case. The only problem I have now is that: I have certain number of desired depth values which I assign as : depth2=indgen(310)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) and temp2,sal2,potemp2,den2 are the values corresponding to these depths. I should have a depth range of 5 to 1550(or 1540)m but in some data ,I only have depths up to 100m or 300 in some other. So i have done this instead: step=(fix(max(p))-fix(min(p)))/5 depth2=indgen(step)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) because of fix I lose 1 or 2 data points. But it is not so important for my case. Thank you all for helping out. Regards, ANIL
creator: anil
date: 2011-12-08T12:15:20-00:00

Re: interpolation
type: item
description: On Dec 7, 10:13 pm, David Fanning <n...@dfanning.com> wrote: > Jeremy Bailin writes: >> Russell's code certainly works perfectly well on the data you provided. > > You may have to consider the unthinkable: a problem with > your own code! ;-) > > 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.") Ok. I've found the problem.It is because of the loops etc.. i have used previously. I've fixed it and now Russell's code works fine for my case. The only problem I have now is that: I have certain number of desired depth values which I assign as : depth2=indgen(310)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) and temp2,sal2,potemp2,den2 are the values corresponding to these depths. I should have a depth range of 5 to 1550(or 1540)m but in some data ,I only have depths up to 100m or 300 in some other. So i have done this instead: step=(fix(max(p))-fix(min(p)))/5 depth2=indgen(step)*5+5 temp2=interpol(t,p,depth2) sal2=interpol(s,p,depth2) potemp2=interpol(q,p,depth2) den2=interpol(d,p,depth2) because of fix I lose 1 or 2 data points. But it is not so important for my case. Thank you all for helping out. Regards, ANIL
creator: anil
date: 2011-12-08T12:15:29-00:00