[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: findgen([variable])
- From: "Pavel A. Romashkin" <pavel.romashkin(at)noaa.gov>
- Date: Tue, 12 Dec 2000 10:45:53 -0700
- Newsgroups: comp.lang.idl-pvwave
- Organization: NOAA-CMDL-CIRES
- References: <3A364C96.7D7ED02D@fys.ku.dk>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:22614
I am afraid FINDGEN can not take a vector for dimensions. What I would
try is either using a vector
x = [5, 7]
r = findgen(total(x))
which still would allow transparent indexing of R. If I really needed
multi D arrays, I'd use EXECUTE and build a command string using
dimensions of X:
x = [5, 7]
com = 'r = findgen('
for i =0, n_elements(x)-1 do com = com +'x['+string(i)+']'+ $
string(44b*byte(i ne n_elements(x)-1) > 41b)
EXECUTE is not cute, but I can't come up with anything nicer. I need
another cup of coffe :-(
Martin Skou Andersen wrote:
> I was wondering if I could use findgen with a variable.
> If I in one situation would use a one dimension array and in another
> situation a mutiple dimension array how would i do?
> I have tried with findgen(x), where x could be an integer or an array.
> But when x is an array IDL gives me following error message:
> IDL> r=fltarr(x)+10
> % FLTARR: Expression must be a scalar in this context: X.
> % Execution halted at: $MAIN$
> where x is:
> IDL> print,x
> 5 7
> IDL> help,x
> X INT = Array
> Is it posible to make an mutiple dimensional array by using a variable
> such as findgen(x)?
> Thanx in advance
> Martin Skou Andersen
> E-mail: Skou@fys.ku.dk
> Homepage: http://www.fys.ku.dk/~skou/