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

Home » Public Forums » archive » Re: transforming an array where some values can't
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: transforming an array where some values can't [message #10901 is a reply to message #10897] Fri, 06 February 1998 00:00 Go to previous messageGo to previous message
offenbrg is currently offline  offenbrg
Messages: 31
Registered: August 1993
Member
bowler@eisner.decus.org writes:

> I'm trying to write a function that will transform an arbitrary array by taking
> hte natural log of every element in the array.

> What I have is

> function xform, input
> temp = alog(input) ; I realize I could combine these 2 statements
> return, temp ; but it makes debugging easier
> end

> Unfortunately, I can't guarentee that there won't be some elements that are
> zero and thus invalid arguments to alog. what's the "most efficient" way to
> take the alog of any element that's greater than 0 and set the value of ony
> that are less than or equal to 0 to some small value (1e-7 for example)?

I think what you want is this:

function xform, input
temp = alog(input > 1e-7)
return, temp
end

The ">" operator in this case sets a floor on the values of "input"...any
value less than 1e-7 is replaced with 1e-7.


Good luck,
Joel
--
"...And I am unanimous in this" - Mrs. Slocumbe
------------------------------------------------------------ ---------------
| Joel D Offenberg | Joel.D.Offenbrg.1@gsfc.nasa.gov |
| Hughes STX, NASA/GSFC/LASP & STScI | UIT, NGST programmer & sysadmin |
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Summary: failed call_external under Windows NT
Next Topic: Re: Surface normals with shade_volume

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

Current Time: Thu Oct 09 14:53:00 PDT 2025

Total time taken to generate the page: 0.16291 seconds