# Adding Vectors Containing NANs

**QUESTION:** I have two vectors (*vec1 *and *vec2*). Some of the values of *vec1 *are set
as **NaN **(not-a-number). I want to sum each point of *vec1 *with its correspondent point in
*vec2*, ignoring **NaN**. For example, I define my vectors like this.

vec1 = FltArr(5) + 1 vec1[2] = !Values.F_NAN vec2 = FltArr(5) + 1 Print, vec1 1.00000 1.00000 NaN 1.00000 1.00000 Print, vec2 1.00000 1.00000 1.00000 1.00000 1.00000

If I try this:

new_vec=vec1+vec2 Print, new_vec 2.00000 2.00000 NaN 2.00000 2.00000

I have NaN's in *new_vec * which correspond to the NANs in *vec1*.

If I use **Total**, IDL tells me that
*vec2 *should be a scalar in this context.

new_vec = Total(vec1, vec2, /NAN) % TOTAL: Expression must be a scalar or 1 element array in this context: VEC2. % Execution halted at: $MAIN$

Is there any other way to ignore the NaN's?

** ANSWER:** This answer is supplied by Klaus Scipal (kscipal@ipf.tuwien.ac.at).

You were right to think of **Total**, but you are using
it incorrectly. The correct syntax is like this.

new_vec = [[vec1],[vec2]] new_vec = Total(new_vec, 2, /NAN) Print, new_vec 2.00000 2.00000 1.00000 2.00000 2.00000

Copyright © 1997-2003 David W. Fanning

Last Updated 3 January 2003