⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 redshift.pro

📁 basic median filter simulation
💻 PRO
字号:
;-------------------------------------------------------------;+; NAME:;       REDSHIFT; PURPOSE:;       Interactively converts between redshift, Recession velocity, & Distance; EXPLANATION:;       This simple program assumes a linear Hubble law and no cosmological;       constant.    For more general and precise conversions use the program;       lumdist.pro ; CALLING SEQUENCE:;       redshift, [h, /HELP]; INPUTS:;       h = optional Hubble constant (def = 50 km/s/Mpc).      in; OUTPUTS:;       Results are displayed at the terminal screen; NOTES:;       Note: H may be changed at any time by typing h=new_value.;       Also displays angular size equivalence and photometric information.;; MODIFICATION HISTORY:;       R. Sterner. 17 July, 1987.;       Johns Hopkins University Applied Physics Laboratory.;       RES 7 Jan, 1988 --- added H0.;; Copyright (C) 1987, Johns Hopkins University/Applied Physics Laboratory; This software may be used, copied, or redistributed as long as it is not; sold and this copyright notice is reproduced on each copy made.  This; routine is provided as is without any express or implied warranties; whatsoever.  Other limitations apply as described in the file disclaimer.txt.;       Converted to IDL V5.0   W. Landsman   September 1997;-;-------------------------------------------------------------         PRO REDSHIFT, H0, help=hlp         if keyword_set(hlp) then begin          print,' Converts between redshift, Recession velocity, and Distance'          print,' redshift, [h]'          print,'   h = optional Hubble constant (def = 50 km/s/Mpc).      in'          print,' Note: H may be changed at any time by typing h=new_value.'          print,'   Also displays angular size equivalence and photometric '+$            'information.'          return        endif         C = 2.9979E5    ; km/s.        H = 50          ; km/s/Mpc.        IF N_PARAMS(0) GT 0 THEN H = H0         PRINT,' '        PRINT,' ---==< Redshift >==---'        PRINT,' Converts between Redshift, Recession velocity, Distance.'LOOP:   PRINT,' '        PRINT,' Enter Redshift as:'        PRINT,'   Z = xxx'        PRINT,' Enter Recession Velocity as:'        PRINT,'   V = xxx (km/s)'        PRINT,' Enter Distance as:'        PRINT,'   D = xxx (Mpc)'        PRINT,' To change Hubble constant (current value = '+STRTRIM(H,2)+'):'        PRINT,'   H = xxx (km/s/Mpc)'        PRINT,' '        TXT = ''        READ, ' Entry: ', TXT        IF TXT EQ '' THEN RETURN        TXT = STRUPCASE(TXT)        TXT = REPCHR(TXT,'=')        W = GETWRD(TXT, 0)        X = GETWRD(TXT, 1)         CASE W OF'H':    BEGIN          H = X + 0.          GOTO, LOOP        END'Z':    BEGIN          Z = X + 0.          V = C*((Z+1)^2-1)/((Z+1)^2+1)          D = V/H        END'V':    BEGIN          V = X + 0.          Z = SQRT((1+V/C)/(1-V/C)) - 1          D = V/H        END'D':    BEGIN          D = X + 0.          V = D*H          Z = SQRT((1+V/C)/(1-V/C)) - 1        ENDelse:   begin          print,' Example:  z=.329'          print,' '          goto, loop        end        ENDCASE         PRINT,' '        PRINT,' For H = '+STRTRIM(H,2)+' km/s/Mpc:'        PRINT,' Redshift, Z = ',strtrim(Z,2)        PRINT,' Recession Velocity, V = '+strtrim(V,2)+' km/s'        PRINT,' Distance, D = '+strtrim(D,2)+' Mpc ('+strtrim(D*3.258,2)+$          ' million lt-yrs)'        PRINT,' '        print,' REDSHIFT EFFECTS'        print,' Angular size/Linear size:'        print,'   Angular size is increased by a factor of (1+z) = '+$          strtrim((1.+z),2)        print,'     due to recession velocity.'        t = d*tan((1./60.)/(1.+z)/!radeg)*1000.         ; kpc.        print,"   So 1' in the sky at this distance is a linear distance of "+$          strtrim(t,2)+" kpc,"        print,'   So 1" in the sky at this distance is a linear distance of '+$          strtrim(t/60.,2)+' kpc.'        print,' Photometry:'        print,'   Distance Modulus = m-M = '+strtrim(5.*alog10(d*1e6/10.), 2)        print,'   Rest wavelengths increased by (1+z) so for the UBVRI system'        print,'     U shifts from 360 nm to '+strtrim(360.*(1+z),2)+' nm'        print,'     B shifts from 420 nm to '+strtrim(420.*(1+z),2)+' nm'        print,'     V shifts from 520 nm to '+strtrim(520.*(1+z),2)+' nm'        print,'     R shifts from 680 nm to '+strtrim(680.*(1+z),2)+' nm'        print,'     I shifts from 825 nm to '+strtrim(825.*(1+z),2)+' nm'        print,' Press any key to continue'        k = get_kbrd(1)        print,' '        GOTO, LOOP         END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -