comp.lang.idl-pvwave archive - RDF feed
type: channel
description: Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
items: Re: Entry comparison between two arrays

Re: Entry comparison between two arrays
type: item
description: On May 20, 10:54 am, "crazywhiteboy...@gmail.com" <crazywhiteboy...@gmail.com> wrote: > Hello everyone, > > I'm new to IDL (started using last week for a summer research > position), and have been working on a problem of comparing two > structures of arrays. The concept is that each of the structures > contain arrays of a year fraction, a day-of-year fraction, and other > data that I need compare. However, to do this comparison I need to > make sure both sets of data are corresponding to the same time (within > a range of error). My initial thought was to do this in a loop (only > have previous experience programming with Java and C doing small data > sets) that records the array indexes of corresponding pairs, and use > those indexes to build an another array that contains the two sets of > data from the two structures of arrays side by side in an array. This > idea works fine, but when I start trying to accomplish it on two > arrays of roughly 1 million entries each, it spikes up to taking my > whole summer to run. So what I'm looking for is how I might do this in > array based calculations in IDL. If anyone can give me an idea, or > point me in the direction of a good tool to use, I'd appreciate it > much. Thanks My guess as to how to solve this problem is to decide what your range of error is and do something like this. structure1 = {frac_year:[...], frac_day:[...], .....} structure2 = {frac_year:[...], frac_day:[...], .....} You can access the arrays in these structures either by name...(i.e. structure1.frac_year) or by number...(i.e. structure1.(0)) Both have their usefulness for understanding code and ease of automation. diff = abs(structure1.(0) - structure2.(0)) ;- You can use numerical structure indexing if you need to loop through a lot of structure elements. result = where(diff GT epsilon, count) ;- Epsilon is your error and I'm guessing that you want to not continue if you surpass this error? ;- Or maybe you just want to omit these points...I'm not sure…
creator: juggernaut5k
date: 2008-05-20T16:04:14-00:00

Re: Entry comparison between two arrays
type: item
description: crazywhiteboy311@gmail.com wrote: > Hello everyone, > > I'm new to IDL (started using last week for a summer research > position), and have been working on a problem of comparing two > structures of arrays. The concept is that each of the structures > contain arrays of a year fraction, a day-of-year fraction, and other > data that I need compare. However, to do this comparison I need to > make sure both sets of data are corresponding to the same time (within > a range of error). My initial thought was to do this in a loop (only > have previous experience programming with Java and C doing small data > sets) that records the array indexes of corresponding pairs, and use > those indexes to build an another array that contains the two sets of > data from the two structures of arrays side by side in an array. This > idea works fine, but when I start trying to accomplish it on two > arrays of roughly 1 million entries each, it spikes up to taking my > whole summer to run. So what I'm looking for is how I might do this in > array based calculations in IDL. If anyone can give me an idea, or > point me in the direction of a good tool to use, I'd appreciate it > much. Thanks Hi, I guess you would have to use histograms. Read (several times) the famous histogram tutorial http://www.dfanning.com/tips/histogram_tutorial.html and look, about mid page, at "Problem: Find the value intersection of two vectors, a.k.a. which values are present in both a and b?" Basically, you will want to do the same, but use a bin size equals to your error threshold (or twice, depending how you conceive it). Don't use "omin" in the first histogram, but min=min(data) - (1.0/2)*binSize, so each histogram bin will have the corresponding data + or - the error. You can play with the reverse index if you need the position, not the value, of the corresponding entries. Jean
creator: Jean H.
date: 2008-05-20T16:34:07-00:00

Re: Entry comparison between two arrays
type: item
description: On May 20, 6:34 am, Jean H <jghas...@DELTHIS.ucalgary.ANDTHIS.ca> wrote: > crazywhiteboy...@gmail.com wrote: >> Hello everyone, > >> I'm new to IDL (started using last week for a summer research >> position), and have been working on a problem of comparing two >> structures of arrays. The concept is that each of the structures >> contain arrays of a year fraction, a day-of-year fraction, and other >> data that I need compare. However, to do this comparison I need to >> make sure both sets of data are corresponding to the same time (within >> a range of error). My initial thought was to do this in a loop (only >> have previous experience programming with Java and C doing small data >> sets) that records the array indexes of corresponding pairs, and use >> those indexes to build an another array that contains the two sets of >> data from the two structures of arrays side by side in an array. This >> idea works fine, but when I start trying to accomplish it on two >> arrays of roughly 1 million entries each, it spikes up to taking my >> whole summer to run. So what I'm looking for is how I might do this in >> array based calculations in IDL. If anyone can give me an idea, or >> point me in the direction of a good tool to use, I'd appreciate it >> much. Thanks > > Hi, > > I guess you would have to use histograms. > Read (several times) the famous histogram tutorialhttp://www.dfanning.com/tips/histogram_tutorial.html and look, about > mid page, at "Problem: Find the value intersection of two vectors, > a.k.a. which values are present in both a and b?" > > Basically, you will want to do the same, but use a bin size equals to > your error threshold (or twice, depending how you conceive it). Don't > use "omin" in the first histogram, but min=min(data) - (1.0/2)*binSize, > so each histogram bin will have the corresponding data + or - the error. > > You can play with the reverse index if you need the position, not the > value, of the corresponding entries. > > Jean Another ap…
creator: Chris[5]
date: 2008-05-20T19:38:54-00:00