[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Array multiplication: implicit loop query





"Bill B." wrote:
> 
> george@apg.ph.ucl.ac.uk (george Millward) wrote in message 

> > It
> > would seem that, to get this to work I need to make
> > Pres=fltarr(30,91,40).
> 
> Yes.
> 
> IDL> a = indgen(20,20)
> IDL> b = indgen(20)
> IDL> c = b * a
> IDL> help, c
> C               INT       = Array[20]
> 
> I believe you need to REPLICATE 'Pres' as needed.
> 
> -Bill B.

I've been converted to REBIN, myself.
(see the group archives for the dimensional juggling tutorial by JD
Smith this past spring)

IDL> Pres_expan = REBIN(Pres, 30, 91, 40)
IDL> help, Pres_expan 
PRES_EXPAN      FLOAT     = Array[30, 91, 40]

This gives you the correct dimensions and avoids loops.  You can even
resize inline if you dislike having the extra variable around:

DEN_H = MMR_H * REBIN(Pres, 30, 91, 40) * RMT / $
	( atomic_mass_H * Gas_constant * TN )

Good luck,

Rich Younger