[Tutor] Help with a Conversion
Alan Gauld
alan.gauld at yahoo.co.uk
Thu Jan 5 11:41:24 EST 2017
On 05/01/17 13:29, S. P. Molnar wrote:
> Fortran II using punched paper tape. Yes, am a rather elderly . . .).
You are not the only one, there are at least 2 more of us on
this list that started in that era...
> short program to change frequency to wavelength for a plot of
> ultraviolet spectra. I have attached a pdf of the program.
This is a text list so attachments usually get stripped off.
Please post the code in the body of the email using plain text
formatting.
> To change the frequency to wave length I did the following:
>
> p=1/1e7
p = 1e-7
> wave_length = p*np.array(frequency)
I don't really use numpy so don't know what that line does.
But assuming it applies the multiplication to each array element
I'd probably use:
wave_lengths = [p*f for f in frequencies]
or possibly
wave_lengths = map(lambda f: p*f, frequencies)
where frequencies was a tuple/list of frequency values.
However...
> (The relationship between wavelength and frequency is: wavelength =
> 1.0e7/frequency, where 1e7 is the speed of light)
That formula doesn't look like the one you use above
if my guess is correct. That would look like:
wave_length = [1e7/f for f in frequencies]
ie positive exponent and division instead of multiplication
> Apparently what I have managed to do is divide each element of the frequency list by 1/1e7.
>
> What I want to do is divide 1e7 by each element of the freqquency list.
> How di I do this?
Rearrange the equation and use division instead of multiplication
I think that by calculating 1/p you have made things much more
complicated - unless there is some subtle arithmetic magic going
on that I'm missing?
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list