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

Home » Public Forums » archive » Re: Multi-Array comparison
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: Multi-Array comparison [message #71558 is a reply to message #71555] Sun, 27 June 2010 07:36 Go to previous messageGo to previous message
Giuseppe Papa is currently offline  Giuseppe Papa
Messages: 27
Registered: February 2010
Junior Member
On 27 Giu, 15:40, wlandsman <wlands...@gmail.com> wrote:
> Here's one way to do what I think you want.    (I am not sure what you
> mean by a "best server".)  If your 3 arrays are a,b, and c then
>
> arrmax = a > b > c    ;get the maximum value at each i,j
> Na = total(a EQ arrmax)   ;Number of times the maximum is found in the
> a array
> Nb = total(b EQ arrmax)
> Nc = total(c EQ arrmax)
>
> Then the maximum of Na, Nb, Nc will tell you which array has the most
> pixels at the maximum value.    (Note that Na + Nb + Nc may be more
> than the total number of pixels if there are equal values.)    --Wayne
>
> On Jun 27, 4:58 am, Giuseppe Papa <giuseppep...@gmail.com> wrote:
>
>> Hello everybody,
>
>> I have three fltarr(460,483) and I would like to compare them, finding
>> for each element i,j of the arrays which one among the three guarantee
>> the maximum value. However, since I just need to know a sort of "best
>> server" index, I'm looking for the percentage so finding the total
>> amount will be enough. I've found out the WHERE function, but in my
>> case (three or more arrays) should I make a loop? Any ideas?
>
>> Thanks,
>
>> Giuseppe
>
>

Thank you Wayne. First of all, you must forgive me for my bad
English. :-)

I'm talking about "best server" because each array element corresponds
to an electric field value, and I have to evaluate the radio coverage
of an area. Each array belongs to an antenna simulation, so I have to
find which one is "dominant" in each point i,j. I was thinking about
something like this:

for i1=0,nfiles-1 do begin ;nfiles depends on the number of my
simulations, let's say three anyway
apparray=fltarr(nx,ny)+1
for i2=0,nfiles-1 do begin
if (i2 ne i1) then begin
nbestpos=where(storedfiles(*,*,i1) le
storedfiles(*,*,i2))
if max(nbestpos) ne -1 then apparray(nbestpos)=0
endif
endfor

But something doesn't work properly (floating dividing by 0 and this
one "Attempt to subscript MAP2 with I2 is out of range."
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Continuous colorbar
Next Topic: Gridding Wizard preview

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

Current Time: Wed Oct 08 19:32:50 PDT 2025

Total time taken to generate the page: 0.00611 seconds