Re: I need a bit of help....Convol and functions [message #50531 is a reply to message #50455] |
Wed, 04 October 2006 06:53   |
D.Kochman@gmail.com
Messages: 7 Registered: October 2006
|
Junior Member |
|
|
kuyper@wizard.net wrote:
> D.Kochman@gmail.com wrote:
>>> Yes, func() needs to create an array for CONVOL() to convolve. However,
>>> sumex should already be an array, in order for this code to work as
>>> intended, and this code does nothing to change any aspect of sumex. I'm
>>> not sure I understand what you mean by the comment "but its a
>>> function".
>>
>>
>> Thanks for the help, slowly but surely I'm starting to get it. What I
>> meant by "but its a function" is I just don't see how sumex is an
>> array. If I were to put
>>
>> sumex = X
>>
>> that to me makes sumex a function, namely, f(x)=x
>
> No, in IDL, the statement sumex=x would make the variable named sumex
> refer to an object which is an exact copy of x. If X is an array, then
> sumex will be an array of the same type and shape. In the actual code
> you gave us,
>
> sumex=P(0)*exp( -X / P(1) )+P(2)*exp( -X / P(3) )+P(7)*exp( -X / P(8) )
>
> dividing X by P(1) creates a new array with the same shape as X.
> Passing that array to exp() produces a result with the same shape as X,
> and multiplying it by P(0) also produces an array in the same shape.
> The same applies to each of the terms in that sum, and adding all three
> terms together also produces an array of the same shape.
Aha! Therein lies my problem. You sir are a god amongst men. =)
Thanks a billion.
OK, thanks for all the help, I do understand now. WOOHOO! Sometimes
you have to realize how far you have to come in order to really
understand something. I know I don't really understand IDL, but I'm
slowly progressing. The deceptively simple syntax of IDL hides some
surprises.
|
|
|